我编写了代码,用于从包含Date变量的对象列表中查找最新日期。
list.stream().map(segment -> segment.lastLoad).filter(x->x!=null).max(Date::compareTo).get()
但我正在收听声纳问题
将此lambda替换为方法引用'Objects :: nonNull'。
我无法弄清楚我在哪里可以使用声纳lint问题所述的方法参考。
答案 0 :(得分:7)
.filter(x->x!=null) == .filter(Objects::nonNull)
有趣的是你已经使用了方法参考(但没有看到这个):
max(Date::compareTo)
此外,您显然已退回Date
,但是Optional<Date>
,您应该收到警告(如果使用IDEA),直接致电get
是不安全的Optional
。
您也可以将max(Date::compareTo)
替换为max(Comparator.naturalOrder())
,因为Date
已经Comparable
。