error:java.lang.IllegalStateException: stream has already been operated upon or closed;
出现环境:
@Test
public void consumer_test(){
Consumer<String> consumer = new Consumer<>() {
@Override
public void accept(String s) {
System.out.println(s);
}
};
Stream<String> stream = Stream.of("aaa","bbb","ccc","dddd");
stream.forEach(consumer);
System.out.println("消费型接口测试");
System.out.println("*****************lambda表达式测试********************");
stream = Stream.of("A1","B2","C3","D4","E5");
Consumer consumer1 = (s)->{
System.out.println(s);
};
stream.forEach(consumer1);
System.out.println("*************引用的方式************");
stream = Stream.of("AB1","AB2","AC3","AD4");
Consumer<String> consumer2 = System.out::println;
stream.forEach(consumer2);
System.out.println("------------------------更直接的方式---------------");
// stream = Stream.of("AB1","AB2","AC3","AD4");//
stream.forEach(System.out::println);
stream.close();
}
- 出现原因:Stream属于管道流,只能使用一次,连续使用就会报错,
- Stream流使用完之后就会关闭