java8 使用stream排序空字段排在前面或后面
作者:喜码拉雅
这篇文章主要介绍了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());
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。