我在寻找一种根据对象的多个字段之一对列表进行排序的方法(最终只是自己提出问题),但在我的研究中,我遇到了这个答案:
https://dev59.com/_HM_5IYBdhLWcg3wUxjF#1421537
我对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;
}
};
}
请问能否解释一下它是如何工作的,以及它到底是做什么的吗? 谢谢!