Я пытаюсь отсортировать список, указанный ниже.Сортировка списка с объектами и примитивной строкой
List dg = new ArrayList();
dg.add(new Dog("one"));
dg.add(new Dog("two"));
dg.add(new Dog("three"));
dg.add(new Dog("four"));
dg.add(new String("Ankit"));
Я пытался реализовать сопоставимыми для класса Dog ниже (не уверен, если это полезно здесь)
//Dog class below//
class Dog implements Comparable<Dog>{
String name;
public Dog(String name) {
this.name = name;
}
public String getName() {
return name;
}
public int compareTo(Dog d){
return this.getName().compareTo(d.getName());
}
Проблема, однако, я пишу компаратор, как указано ниже, я получаю ClassCastException. Как это решить?
class StringComparator implements Comparator {
public int compare(Object d, Object s) {
String p=((Dog)d).getName();
return (p.compareTo(s.toString()));
}
}
//usage of the above comparator
Arrays.sort(odog,sc);
Вы должны добавить свой язык программирования в качестве тега, чтобы его легче находить для других. – Kris