在Java的API 8说:
在执行管道的终端操作之前,不会开始遍历管道源.
那么为什么以下代码抛出:
java.lang.IllegalStateException:stream已经被操作或关闭
Stream<Integer> stream = Stream.of(1,2,3);
stream.filter( x-> x>1 );
stream.filter( x-> x>2 ).forEach(System.out::print);
Run Code Online (Sandbox Code Playgroud)
根据API的第一个过滤操作不应该在Stream上操作.