是否建议/好的方法在迭代之前检查流是否不为空或不为空我能想到的是将stream()分配给Stream vairable并检查empty和null有没有 java 8 函数/特性来检查它?
2 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
调用stream()
非空对象永远不应该返回null
。因此检查流似乎null
没有必要。
如果流为空,则什么也不会发生。那么为什么要检查呢?
是的,JDK 中有一些方法可以帮助您检查参数是否不存在 null
。看看吧java.util.Objects
。
翻阅古今
TA贡献1780条经验 获得超5个赞
不,没有必要。
只要您使用空 Streams 而不是 null(例如作为方法参数),一切都会正常工作。您不需要检查 a 是否Stream
为空,就像您不需要检查 a 是否Collection
为空一样,如果您在代码中使用空集合而不是 null(您应该这样做)。
1 现在假设“原始”流来自连续源(集合、生成器)。您可以使用类似map(o -> o.getPossiblyNull())
. 在这种情况下,您可能需要使用.filter(Objects::nonNull)
从流中删除任何空元素。
添加回答
举报
0/150
提交
取消