Lambda表示式排序,解決空指標異常

2021-10-05 08:00:43 字數 837 閱讀 5937

問題描述:物件集合中,根據物件的某個屬性進行公升降排序時,未考慮對應屬性的null值,導致出現空指標異常。

解決方法:

第一種comparator.nullsfirstcomparator.nullslast

listrecordlist = equipoverrunrecordservice.findall();

//stream()排序需要用變數接收

recordlist=recordlist.stream().sorted(comparator.comparing(equipoverrunrecord::getpeakvalue, comparator.nullslast(double::compareto))).collect(collectors.tolist());

//直接排序不需要用變數接收

recordlist.sort(comparator.comparing(equipoverrunrecord::getpeakvalue, comparator.nullslast(double::compareto)));

第二種:自己寫排序做null判斷,null放最後

listrecordlist = equipoverrunrecordservice.findall(); 

collections.sort(recordlist, new comparator() else

}});

lambda表示式排序出現空指標

類a的集合alist,需要按a的字段id進行排序 使用lambda表示式進行過濾 排序時,出現了空指標異常 改之前 list alist1 alist.stream distinct sorted comparator.comparing a getid reversed collect colle...

Lambda表示式排序,出現空指標異常

問題描述 物件集合中,根據物件的某個屬性進行公升降排序時,未考慮對應屬性的null值,導致出現空指標異常。解決方法 comparator.nullsfirst和comparator.nullslast listnlist list.stream sorted comparator.comparing...

Lambda表示式排序,出現空指標異常

問題描述 物件集合中,根據物件的某個屬性進行公升降排序時,未考慮對應屬性的null值,導致出現空指標異常。解決方法 comparator.nullsfirst和comparator.nullslast listnlist list.stream sorted comparator.comparing...