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

问题描述 投票:2回答:1

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

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

同时在同一篇文章中

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

//parallel stream
Stream<Integer> parallelStream = myList.parallelStream();

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

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

java-8 java-stream
1个回答
5
投票

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

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

Class Person {
    private Stream<String> phoneNumbers;

    Stream<String> getPhoneNumbers() {
        return phoneNumbers;
    }
}

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

Class Person {
    private List<String> phoneNumbers;

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

您包含的代码段就是这样。它在相同的数据上产生2个不同的流

© www.soinside.com 2019 - 2024. All rights reserved.