Просто небольшая проблема с Arraylist
. Я хочу сортировать ArrayList<Client>
по названию.Как реализовать Компаратор с использованием Generics?
Class Client{ String name; int phonenumber ..}
Этого код делает работу, но я имею предупреждение компилятора: «использует или небезопасные операции». В чем проблема?
public void sortByName(){
Collections.sort(ListofClients, new NameComparator());
}
Мой компаратор выглядит следующим образом:
public class NameComparator implements Comparator{
public int compare(Object client1, Object client) {
String name1 = ((Client) client1).getName();
String name2 = ((Client) client2).getName();
return name1.toUpperCase()).compareTo(name2.toUpperCase();
}
}
Если я использую «implements Comparator<Client>
» я получаю ошибку: «NameComparator не абстрактный и не переопределяет абстрактный метод сравнения (клиент, клиент) в java.util.Comparator. это мой компаратор не так? извините за это нуб вопрос, новый для Java
сразу возвращает результат :) – willcodejavaforfood
@bruno Обратите внимание, что ваш компаратор не обрабатывает нулевые имена. – McDowell
Почему это должно быть, если действительный объект Client не может иметь нулевое имя. –