阅读有关java 8流的文章,并找到了
Java Streams是可以使用的,因此无法创建对流的引用以供将来使用。由于数据是按需的,因此不可能多次重复使用相同的流。
同时在同一篇文章中
//sequential stream
Stream<Integer> sequentialStream = myList.stream();
//parallel stream
Stream<Integer> parallelStream = myList.parallelStream();
“没有办法为将来的使用创建流的引用”是什么意思?不是sequentialStream
和parallelStream
引用流
它也意味着“多次重用同一个流是不可能的”?
这意味着每次你需要在流上操作时,你必须创建一个新的。
所以你不能,例如,有类似的东西:
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个不同的流