java中排序比较器 Comparator 考虑为null的情况

2022-07-14 12:57:14

java中排序比较器 Comparator 考虑为null的情况

publicclassComptor{publicstaticvoidmain(String[] args){
        List<Bean> objects=newArrayList<>();
        Random random=newRandom(1);for(int i=0; i<10; i++){
            objects.add(newBean(random.nextInt()));}
        objects.get(0).putSort(null);
        objects.add(null);
        objects.forEach(System.out::println);}staticclassBean{private Integer sort;publicBean(int sort){this.sort= sort;}public IntegergetSort(){return sort;}@Overridepublic StringtoString(){return"Bean{"+"sort="+ sort+'}';}public BeanputSort(Integer sort){this.sort= sort;returnthis;}}}
/**Bean可能为null的兼容*/privatestaticvoidsort3(List<Bean> objects){
        objects.sort(Comparator.nullsLast(Comparator.comparing(Bean::getSort, 
        	Comparator.nullsLast(Integer::compareTo))));}/**比较字段可能为null时的兼容*/privatestaticvoidsort2(List<Bean> objects){
        objects.sort(Comparator.comparing(Bean::getSort,
        	 Comparator.nullsLast(Integer::compareTo)));}/** 正常排序*/publicstaticvoidsort1(List<Bean> objects){
        objects.sort(Comparator.comparingInt(Bean::getSort));}
  • 作者:水豚少年的码农生活
  • 原文链接:https://blog.csdn.net/qimowei/article/details/118570842
    更新时间:2022-07-14 12:57:14