0
私はカスタムコンパレータを作成しましたが、collections.sortの使用方法はわかりましたが、ただ2つのオブジェクトだけで使用する方法を知りたいと思います。単一のオブジェクトでカスタムコンパレータを使用する
は、だから私のPersonクラスにコンパレータのコードは、デフォルトのcompartorを使用するには、この
//Default comparator by score
@Override
public int compareTo(Person p)
{
return Double.compare(p.score, score);
}
//Custom comparator by name
static Comparator<Person> nameComparator()
{
return (Person o1, Person o2) -> o1.getName().compareToIgnoreCase(o2.getName());
}
のように見える細かいですが、どのように私はカスタムにこの
//Default
int result = p.compareTo(p4);
//Not sure how to use this one
int result2 = p.compareTo(nameComparator(p4));
Pのような1 なものを使っていますし、 p4は人物オブジェクト
ありがとうございました。コンパレータが公開されていないので、クラス外からアクセスできませんでした。他の問題を認識しました。 –
「クラス外からアクセスできませんでした。クラス外にアクセスする。ちょうどパッケージの外にはありません。 –
ああ、はい、テストパッケージからアクセスしようとしていたので、公開しました。彼らはそのことに何か問題がありますか? –