У меня есть список из типа 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
? Если я не буду достаточно ясным, скажите об этом.
EDIT: Я получил ошибку из-за метода, который у меня остался в одном из подклассов, который уже был унаследован от суперкласса, и я думал, что ошибка имеет какое-либо отношение к структуре Comparable<A>
, потому что я wasn «Конечно, если это было правильно, но у меня уже был код, как все вы, ребята, сказали мне, но, в любом случае, спасибо.