複数のフィールドの1つだけに基づいてオブジェクトのリストを並べ替える方法を探していました(そして、自分で質問することになりました)が、私の調査では、次の答えに出くわしました。
https://stackoverflow.com/a/1421537/1549672
私はJavaにかなり慣れていないので、これが理由かもしれませんが、この最後の方法を完全には理解していません。
public static Comparator<Person> getComparator(final PersonComparator... multipleOptions) {
return new Comparator<Person>() {
public int compare(Person o1, Person o2) {
for (PersonComparator option : multipleOptions) {
int result = option.compare(o1, o2);
if (result != 0) {
return result;
}
}
return 0;
}
};
}
誰かがそれがどのように機能するかを説明してもらえますか...そしてそれは正確に何をしますか?ありがとう!