我使用lambda表达式对集合实现了排序以进行比较。我必须检查空值,所以我想出了比较器的这个解决方案
(a,b)->(
(a.getStartDate() == null)
? ( (b.getStartDate() == null) ? 0 : -1)
: ( (b.getStartDate() == null)?1:a.getStartDate().compareTo(b.getStartDate()) )
);
我已经检查了一些问题,例如this,但它们都引用了lambda前代码。
java lambda表达式让我有机会避免两个' if'声明?我可以用更干净的方式完成任务吗?
答案 0 :(得分:58)
您可以使用mao
或nullsFirst
中的默认实施:
nullsLast