【发布时间】:2018-07-13 14:52:08
【问题描述】:
是否可以使用.collect(Collectors.toList()) 收集到列表,然后如果列表不为空,则将整个列表(不像.forEach 的东西)转发给某个消费者或函数?我不想声明一个列表变量来将它传递给我的下一个方法并为此使用 if 大括号。
【问题讨论】:
-
是的,有可能:
.collect(Collectors.toList()).forEach(element -> consumer.action(element)) -
someMethod(stream.collect(toList()))?但这通常会使代码更难阅读、理解和调试。局部变量有什么问题? -
我想将整个列表传递给方法,如果它不为空,那就是问题所在。我不想使用空列表触发方法,并且希望在没有任何 ifs 块的情况下执行此操作。
-
if 块有什么问题?使用变量。使用如果。它们很有用。他们没有任何问题。
标签: java java-stream consumer