【发布时间】:2017-07-22 00:01:54
【问题描述】:
我知道,每当我们在 stream 上调用任何 terminal method 时,它都会关闭。
如果我们尝试在关闭的流上调用任何其他终端函数,它将导致java.lang.IllegalStateException: stream has already been operated upon or closed。
但是,如果我们想多次重复使用同一个流,该怎么办?
如何做到这一点?
【问题讨论】:
-
这是一个冷酷的事实:您不能重复使用流。您可以获取从中获取流的 input 并再次流。此外,根据您所面临的确切问题,您可能只需流式传输一次即可获得所需的结果。
-
请参阅 stackoverflow.com/questions/28459498/… 了解基本原理
-
一开始为什么要重复使用它们?你希望通过这样做来实现什么?
-
@Rogue,只是在想是否可能。
-
好吧:不。
标签: java java-8 java-stream reusability