項目里使用到排序, java里沒有像C# 里的linq,只有stream,查找stream.sorted源碼看到有個
Comparator.nullsLast
然后看了一下實現,果然是能夠處理null值的排序,如:
minPriceList.stream().sorted(Comparator.comparing(l -> l.getCreateDate(), Comparator.nullsLast(Date::compareTo))).findFirst().get();
其中minPriceList是一個對象List,其中getCreateDate是日期字段,有可能為null,需求是對這組list的創建日期進行排序,達到目的。
對於 Date::compareTo 這種lambda方法引用如果有疑惑的可參考另外一篇文章(講的非常好):Java筆記——Java8特性之Lambda、方法引用和Streams