У меня есть этот класс, имеющий внутренний классдоступа внутренний класс от другого класса
public class A {
public class NameComparator implements Comparator<A> {
@Override
public int compare(A o1, A o2) {
return o1.name.compareToIgnoreCase(o2.name);
}
}
...
}
И я хотел бы, чтобы этот класс NameComparator из другого класса C (который находится в другом пакете, чем A).
Пример (из С):
Collections.sort (aArrayList, A.new NameComparator());
Это не работает. Должен ли я перемещать внутренний класс NameComparator так, чтобы он не был заключен в класс A и переименовал его в нечто вроде ANameComparator? Они настолько тесно связаны с тем, что чувствует себя неловко, не ставить эту функцию в классе А.
Сделать 'NameComparator'' статическим' классом. –
Или используйте экземпляр A для создания экземпляра 'NameComparator'. –
вам нужен экземпляр a. 'new A(). new NameComparator()' – nachokk