我有一个来自该类型的列表Superclass A
,在该列表中有来自两个子类的多个对象,Subclass B
并且Subclass C
希望按字母顺序对它们进行排序,然后从任一子类中过滤对象,如下所示:
List <A> listA= new ArrayList<A>();
Collections.sort(listA);
for (A iterator : listA)
if (iterator instanceof B)
System.out.println(iterator);
我的问题是我应该如何构建我的代码。我应该实施Comparable <A>
和
public int compareTo(A a) {
return name.compareTo(a.getName());
}
在两者Superclass
和Subclass
?如果我不够清楚,请直说。
编辑:由于我留在已经从超类继承的子类之一中的方法而出现错误,我认为该错误与 的结构有关Comparable<A>
,因为我不确定它是否是正确的,但我已经有了你们告诉我的代码,但无论如何谢谢。