//根据id降序排,然后根据年龄升序
list = list.stream().sorted(Comparator.comparing(User::getId)
.reversed()
.thenComparing(Comparator.comparing(User::getAge))
).collect(Collectors.toList());
完整代码如下图
输出结果
但是遇到数值为空,就会报空指针异常
我们这么解决
//将id排序并处理为空情况,nullsLast是值将空值放最后,nullsFirst同理
list = list.stream().sorted(Comparator.comparing(User::getId, Comparator.nullsLast(Integer::compareTo)))
.collect(Collectors.toList());