无法创建对流的引用,并且无法多次重用相同的流

Mel*_*ius 2 java-8 java-stream

阅读有关java 8流的文章,并找到了

Java Streams是可以使用的,因此无法创建对流的引用以供将来使用.由于数据是按需的,因此不可能多次重复使用相同的流.

同时在同一篇文章中

//sequential stream
Stream<Integer> sequentialStream = myList.stream();

//parallel stream
Stream<Integer> parallelStream = myList.parallelStream();
Run Code Online (Sandbox Code Playgroud)

"没有办法为将来的使用创建流的引用"是什么意思?不是sequentialStreamparallelStream流的引用

它也意味着"多次重用同一个流是不可能的"?

Mis*_*sha 5

这意味着每次你需要在流上操作时,你必须创建一个新的.

所以你不能,例如,有类似的东西:

Class Person {
    private Stream<String> phoneNumbers;

    Stream<String> getPhoneNumbers() {
        return phoneNumbers;
    }
}
Run Code Online (Sandbox Code Playgroud)

只要你愿意,就可以重用那一个流.相反,你必须有类似的东西

Class Person {
    private List<String> phoneNumbers;

    Stream<String> getPhoneNumbers() {
        return phoneNumbers.stream();  // make a NEW stream over the same data
    }
}
Run Code Online (Sandbox Code Playgroud)

你剪下的代码就是这样做的.它在相同的数据上产生2个不同的流