2017-05-25 50 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或東西...