1. 需求:JDK8 stream sort排序时,排序字段有null
1,查找stream.sorted源码看到有Comparator.nullsFirst和Comparator.nullsLast方法
2.示例:
2.1.创建排序字段带null的List(排序字段为User.name)
Student User{
private String name;
private int age;
}
List<User> list = Lists.newArrayList(new User("xiao_ming", 21), new User("xiao_hua", 22), new User(null, 23));
2.2.Comparator.nullsFirst/Comparator.nullsLast使用示例
List<User> nList = list.stream().sorted(
Comparator.comparing(User::getName, Comparator.nullsFirst(String::compareTo)))
.collect(Collectors.toList());
Comparator.nullsFirst | 排序字段为null的对象放在排序后的List最后面 |
Comparator.nullsLast | 排序字段为null的对象放在排序后的List最前面 |