Java - 实现我自己的 Stream [关闭]
Posted
技术标签:
【中文标题】Java - 实现我自己的 Stream [关闭]【英文标题】:Java - Implementing my own Stream [closed] 【发布时间】:2017-10-26 07:22:48 【问题描述】:是否可以实现自定义流? 除了 IntStream 或 LongStream,我还想创建一个 StringStream。
我想添加额外的方法,例如 storeToFile(path)。
我认为实现 Stream 需要做很多工作。标准实现是 java.util.stream.ReferencePipeline,但我不能直接实例化它。 有没有简单的解决办法?
感谢您的帮助。
【问题讨论】:
一个 StringStream 已经存在。这是一个 Stream是的,你可以创建任何你想要的流。
扩展接口BaseStream
public interface MyStream extends BaseStream<MyClass,MyStream>
然后实现它
public class DefaultMyStream implements MyStream
//...
在编写您的实现时,可能会交叉检查另一个流实现。
我不知道这样做一定有很大的优势。也许有一个有效的用例。无论如何,这是可能的。
【讨论】:
我认为实现 Stream 需要做很多工作。标准实现是 java.util.stream.ReferencePipeline,但我不能直接实例化它。有简单的解决方案吗? 你几乎肯定是对的,但这不是你问的。听起来您应该创建一个新问题或大量编辑这个问题。 感谢您的帮助。【参考方案2】:听起来您想要一个自定义的 Collector
,而不是 Stream。您可以使用 Stream.of()
从任何东西中创建 Stream
,但您需要收集器。
storeToFile
将是一个 StoringToFileCollector 之类的......
【讨论】:
以上是关于Java - 实现我自己的 Stream [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
java ,返回流,IOException: Stream Closed,TryWithResource
当相应的Stream关闭或我是否必须明确关闭它们时,Java FileChannel锁是否关闭?
用poi多次调用write()方法报java.io.IOException: Stream closed。求大神指导。