正常来说,如果排序的字段里面为null,在调用list sorted方法,会报空指针异常

public static void main(String[] args) {
 List<SxhEquipmentBbtj> bbtjList = new ArrayList<>();
 for(int i=0;i<10;i++){
      SxhEquipmentBbtj sxhEquipmentBbtj = new SxhEquipmentBbtj();
      sxhEquipmentBbtj.setStreet("街道"+i);
      if(i!=5){
           sxhEquipmentBbtj.setSortNum(i);
      }
      bbtjList.add(sxhEquipmentBbtj);
 }
 bbtjList = bbtjList.stream().sorted(Comparator.comparing(SxhEquipmentBbtj::getSortNum)).collect(Collectors.toList());
 bbtjList.forEach(System.out::println);
}

image

 如果不确保排序的字段是是否为null的值,可以在加一个参数

.stream().sorted(Comparator.comparing(SxhEquipmentBbtj::getSortNum,Comparator.nullsFirst(Integer::compareTo))).collect(Collectors.toList());
public static void main(String[] args) {
        List<SxhEquipmentBbtj> bbtjList = new ArrayList<>();
        for(int i=0;i<10;i++){
            SxhEquipmentBbtj sxhEquipmentBbtj = new SxhEquipmentBbtj();
            sxhEquipmentBbtj.setStreet("街道"+i);
            if(i!=5){
                sxhEquipmentBbtj.setSortNum(i);
            }
            bbtjList.add(sxhEquipmentBbtj);
        }
        bbtjList = bbtjList.stream().sorted(Comparator.comparing(SxhEquipmentBbtj::getSortNum,Comparator.nullsFirst(Integer::compareTo))).collect(Collectors.toList());
        bbtjList.forEach(System.out::println);
    }

image