Nur ein kleines Problem mit Arraylist
. Ich möchte ein ArrayList<Client>
namentlich sortieren.Wie implementiere ich einen Comparator mit Generics?
Class Client{ String name; int phonenumber ..}
Dieser Code macht die Arbeit, aber ich bin eine Compiler-Warnung mit: „verwendet unkontrolliert oder unsichere Operationen“. Was ist das Problem?
public void sortByName(){
Collections.sort(ListofClients, new NameComparator());
}
Mein Komparator sieht wie folgt aus:
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();
}
}
Wenn ich "implements Comparator<Client>
" erhalte ich einen Fehler: „NameComparator kein abstrakt ist und überschreibt nicht abstrakte Methode vergleichen (Client, Client) in java.util.Comparator. ist mein Komparator falsch? leid für diese Noob Frage, neu in Java
nur Ergebnis sofort zurückgeben :) – willcodejavaforfood
@bruno Beachten Sie, dass Ihr Comparator keine Nullnamen behandelt. – McDowell
Warum sollte es, wenn ein gültiges Client-Objekt keinen Null-Namen haben kann. –