【发布时间】:2020-03-04 11:21:23
【问题描述】:
有时我将[null] 的值设为List<Employee> employees。为了防止我做以下检查
List<Employee> employees ….
if((employees.size()>0 && employees.get(0) == null)) {
return Lists.newArrayList();
}
想知道上面的代码是否有更好的方法使用流或Optional.ofNullable
【问题讨论】:
-
employers.stream().filter(Objects::NonNull).collect(Collectors.toList();应该可以工作。将过滤掉任何非空元素并收集到包含 0 个或更多元素的列表。 -
@DarrenForsythe 但我只需要检查第一个元素,可以说如果我让列表正常,那么它会不必要地迭代所有列表并且什么都不做
-
我不认为你能得到比你已经拥有的更好的东西。
-
等一下,你得到
null是列表本身还是第一个元素? -
当然,还有更好的办法。修复返回包含
null的List的可怕代码。除此之外,这段代码的目的还不清楚。为什么一定要返回一个新的空ArrayList?
标签: java java-8 java-stream optional