空列表上的Java 8流操作

gaurav agarwal:

我只是想知道空列表上Java 8 流的行为

List<?> emptyList = new ArrayList<>();
List<?> processedList = emptyList.stream().collect(Collectors.toList());

这将是空列表还是null

我知道流会进行延迟传播,因此在这种情况下,将调用go转到collect()方法还是仅将其终止于stream()method?

他们是 :

collect 是终端操作,因此必须对其进行评估。

当使用终止Stream管道时collect(Collectors.toList()),您将始终获得输出List(永远不会获得null)。如果a Stream为空(由于流的源为空,或者由于流的所有元素在终端操作之前被过滤掉了,则List是否为空也无关紧要),输出也将为空。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章