jdk1.8新特性:stream流 报错:stream has already been operated upon or closed

这个异常表示stream流已经被使用或者关闭。

jdk8种的stream流是不可复用的,使用一次后就会被关闭,二次使用必须重新创建stream流。

例如:

public static void main(String[] args) {
		List list = new ArrayList();
		list.add("huawei");
		list.add("apple");
		list.add("oppo");
		list.add("vivo");
		Stream streamList = list.stream();
		
		// 第一次使用stream
		streamList.forEach(s->System.out.println(s));
		
		// 第二次使用stream
		streamList.forEach(System.out::printf);
	}

运行结果:

jdk1.8新特性:stream流 报错:stream has already been operated upon or closed_第1张图片

  

 正确写法和运行结果:

jdk1.8新特性:stream流 报错:stream has already been operated upon or closed_第2张图片

 

 

你可能感兴趣的:(java,foreach,jdk1.8,stream,java)