1. Comparator接口包含很多方便的静态方法来创建比较器
Arrays.sort(people,
Comparator.comparing(Person:getLastName)
.thenComparing(Person:getFirstName));
Arrays.sort(people,
Comparator.comparing(Person::getName,
(s,t)->Integer.compare(s.length(),t.length)))
2. 避免int、long或double值的装箱
Arrays.sort(people,Comparator.comparingInt(p->p.getName().length))
3. 用到nullsFirst和nullsLast适配器。这些静态方法会修改现有的比较器,从而在遇到null值时不会抛出异常
Comparator.comparing(Person:getMiddleName(), Comparator.nullsFirst(...))
Arrays.sort(people,comparing(Person::getMiddleName,nullsFirst(naturalOrder())));
4. 逆序
naturalOrder().reversed()等同于reverseOrder()