我编写了代码,从包含Date变量的对象列表中查找最新日期.
list.stream().map(segment -> segment.lastLoad).filter(x->x!=null).max(Date::compareTo).get()
但我得到了声纳问题
用方法引用'Objects :: nonNull'替换这个lambda.
我无法弄清楚的是我在哪里可以使用声纳lint问题所述的方法参考.
.filter(x->x!=null) == .filter(Objects::nonNull)
Run Code Online (Sandbox Code Playgroud)
有趣的是你已经使用了方法引用(但没有看到这个):
max(Date::compareTo)
Run Code Online (Sandbox Code Playgroud)
你也显然返回Date从不过Optional<Date>,你应该得到一个警告(如果使用IDEA),这不是安全地调用get直接上Optional.
而且你还可以替换max(Date::compareTo)使用max(Comparator.naturalOrder()),因为Date已经是Comparable.
| 归档时间: |
|
| 查看次数: |
2061 次 |
| 最近记录: |