正常来说,如果排序的字段里面为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);
}

如果不确保排序的字段是是否为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); }
