【发布时间】:2014-05-30 23:55:14
【问题描述】:
我有两个 JAVA 课程:
public class Persons implements Serializable{
String name;
String phone;
...
}
和:
public class Diary implements Comparable{
ArrayList<Persons> persons=new ArrayList();
...
}
我想按名称(按字母顺序)排序我的 ArrayList,但我不能使用 Collections.sort() 因为我的 ArrayList 是 Persons 类,这给了我错误。我无法在 Persons 类中实现 Comparable,因为如果我这样做,我以后就无法读取保存在 Object .dat 中的 ArrayList
【问题讨论】:
-
您可能无法阅读它,因为您已经对类进行了足够的更改以更改编译器生成的
serialVersionUID属性。您应该始终自己定义,而不是让编译器为您完成。 -
但是你可以实现多个接口,这几乎是它们的重点。
-
如果你不想碰你的 Person 类,你可以使用 sort(List
list, Comparator super T> c) 做比较器来排序 Arraylist。 -
如果你有一个
Person,我会打电话给班级Person。如果你有多人,我会打电话给班级People -
我看不出让乳制品具有可比性。
标签: java arraylist serializable comparable