2017-05-25 95 views
-4

是否可以实现自定义Stream? 我想创建一个除了IntStream或LongStream的StringStream。Java - 实现我自己的Stream

我想添加额外的方法,如storeToFile(路径)。

我认为这是一个很多工作来实现一个流。标准实现是java.util.stream.ReferencePipeline,但我不能直接实例化它。 有没有简单的解决方案?

感谢您的帮助。

+7

一个字符串流已经存在。这是一个流。 –

+2

[为什么“有可能...”这个措辞不佳的问题?](https://softwareengineering.meta.stackexchange.com/questions/7273/why-is-is-it-possible-toa-a-措辞不太好的问题/ 7274) – azurefrog

+0

是的,但我想添加额外的方法。例如storeToFile(String:path)。 –

回答

2

是的,你可以创建任何你想要的流。

扩展接口BaseStream

public interface MyStream extends BaseStream<MyClass,MyStream> 

然后实现它

public class DefaultMyStream implements MyStream 
{ 
    //... 
} 

编写实现时可能交叉检查另一流实现。


我不知道这样做有什么好处。也许有一个有效的用例。无论如何,这是可能的。

+0

我认为实现一个Stream是很多工作。标准实现是java.util.stream.ReferencePipeline,但我不能直接实例化它。有一个简单的解决方案吗? –

+0

你几乎肯定是对的,但这不是你问的。这听起来像你应该创造一个新的问题或重编辑这一个。 – Michael

+0

感谢您的帮助。 –

3

这听起来像你想Collector是自定义的,而不是流。你可以用Stream.of()创建一个Stream,但是你需要收集器来做这件事。

storeToFile将是一个StoringToFileCollector或东西...