我们是否需要检查 java 8 中的 Stream 是否为 null 并且不进行迭代

是否建议/好的方法在迭代之前检查流是否不为空或不为空

我能想到的是将stream()分配给Stream vairable并检查empty和null

有没有 java 8 函数/特性来检查它?

泛舟湖上清波郎朗
浏览 175回答 2
2回答

繁星点点滴滴

调用stream()非空对象永远不应该返回null。因此检查流似乎null没有必要。如果流为空,则什么也不会发生。那么为什么要检查呢?是的,JDK 中有一些方法可以帮助您检查参数是否不存在 null。看看吧java.util.Objects。

翻阅古今

不,没有必要。只要您使用空 Streams 而不是 null(例如作为方法参数),一切都会正常工作。您不需要检查 a 是否Stream为空,就像您不需要检查 a 是否Collection为空一样,如果您在代码中使用空集合而不是 null(您应该这样做)。1 现在假设“原始”流来自连续源(集合、生成器)。您可以使用类似map(o -> o.getPossiblyNull()). 在这种情况下,您可能需要使用.filter(Objects::nonNull)从流中删除任何空元素。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java