/**
* 多个排序规则
*/
private static final Comparator<Item> CUSTOM_COMPARATOR = Comparator.comparing(Item::getSortFirst).thenComparingLong(item -> {
long second= item.getSortSecond();
//返回值越小越前
if (second== 1L) {
return 1;
} else if (second== 4L) {
return 2;
} else {
return 3;
}
}).thenComparing(Item::getSortThird, Comparator.reverseOrder());
Java中常见的排序写法,以及多重排序的写法示例代码;
一序中comparing指定排序规则,后面的序通过thenComparing指定;
在comparing中,返回值越小,排序越前,通过这个方式可以指定一些特殊的排序规则;