java8 使用stream排序空字段排在前面或後面

java8 stream排序空字段排在前面或後面

直接粗暴sorted會NPE,這種寫法可以避免

list.stream().sorted(Comparator.comparing(l -> l.getCreateTime(), Comparator.nullsFirst(Date::compareTo))).collect(toList());
toOrderList.stream().sorted(Comparator.comparing(l -> l.getContractCode(), Comparator.nullsFirst(String::compareTo))).collect(toList());

java8根據某字段順序和倒序排列

順序

resultList.stream().sorted(Comparator.comparing(Role::getCreateTime)).collect(Collectors.toList());

倒序

resultList.stream().sorted(Comparator.comparing(Role::getCreateTime).reversed()).collect(Collectors.toList());

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: