Comparator.nullsLast 并不能避免 NullPointerException
2022-09-01 12:30:05
我想按可为空的字段之一对对象列表进行排序。
为了避免我使用.但例外情况仍然会发生:NullPointerexception
Comparator.nullsLast
public class Test {
public static void main(String[] args) {
List<Bean> l = new ArrayList<>();
for (int i=0;i<5;i++) {
Bean b = new Bean("name_"+i,i);
l.add(b);
}
l.get(2).setVal(null);
System.out.println(l);
Collections.sort(l, Comparator.nullsLast(Comparator.comparing(Bean::getVal)));
System.out.println(l);
}
static class Bean{
String name;
Integer val;
// omit getters & setters & constructor
}
}
如何对此类列表进行排序?