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コンパレータはnull名を処理しません。 – McDowell
有効なClientオブジェクトにヌル名を付けることができない場合、なぜそれが必要ですか? –