使用Stream流时报java.lang.IllegalStateException: stream has already been operated upon or closed错误
Stream流是Java8 API推出的新特性,极大的简化了我们遍历集合和筛选集合的操作,但是初次使用时极有可能出现错误。
下面的代码按照常理来说看似是没有错误:
public class StreamTwo {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("张无忌");list.add("周芷若");list.add("赵敏");list.add("张强");list.add("张三丰");//获取Stream流Stream<String> stream = list.stream();//执行过滤 遍历操作stream.filter((a)->a.startsWith("张")).forEach((a)->System.out.println(a));//过滤之后的个数long count = stream.count();System.out.println(count);}
}
但是点击运行后控制台报出错误:
错误出现的原因: Stream API只能被消费一次,后续重复使用已建立的流会报异常!所以stream流是线程安全的!
解决方法: 创建一个新的Stream流 ,使用不同的Stream流 来执行遍历操作 和得到 当前流中的元素个数。
添加代码:
//获取一个新的Stream流Stream<String> streamTwo = list.stream();//过滤之后的个数long count =streamTwo.filter((a)->a.startsWith("张")).count();System.out.println(count);
成功运行结果:
使用Stream流时报java.lang.IllegalStateException: stream has already been operated upon or closed错误相关推荐
- java.lang.IllegalStateException: stream has already been operated upon or closed
1. 错误描述 static int [] intArr = new int[]{30,96,23,69,85,62,12,99,11}; IntStream intStream =Arrays.st ...
- Jetty提交数据时报java.lang.IllegalStateException: Form too large270468>200000问题解决
Jetty提交数据时报java.lang.IllegalStateException: Form too large270468>200000问题解决 参考文章: (1)Jetty提交数据时报j ...
- java.lang.IllegalStateException: stream has already been operated upon or closed 异常
Stream流是Java8 API推出的新特性,极大的简化了我们遍历集合和筛选集合的操作,但是初次使用时极有可能出现错误. 异常如图所示: 异常意思: Java中的"流已被操作或关闭&quo ...
- Stream流--java.lang.IllegalStateException: stream has already been operated upon or closed
stream用了两次,forEach()已经进行了中止操作 终止操作符就是对数据进行收集或者消费的,数据到了终止操作这里就不会向下流动了,终止操作符只能使用一次.
- java.lang.IllegalStateException: Underflow in restore - more restores than saves
1. 错误描述 java.lang.IllegalStateException: Underflow in restore - more restores than saves 2. 错误原因 Can ...
- 安卓开发 java.lang.IllegalStateException isPlaying() 解决方案
安卓开发,友盟日志 抛出异常 MediaPlayer : java.lang.IllegalStateException at android.media.MediaPlayer.isPlaying( ...
- JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)
测试又报bug啦 接到测试小伙伴的问题,说是一个接口不返回数据了,好吧,虽然不是我写的接口任务落到头上也得解决,本地调试了一下,好家伙,直接抛了个异常出来,这又是哪位大哥喝醉了写的代码... Exce ...
- 使用RestTemplate时报错java.lang.IllegalStateException: No instances available for 127.0.0.1
我在RestTemplate的配置类里使用了 @LoadBalanced @Component public class RestTemplateConfig { @Bean @LoadBalance ...
- 驱动谷歌浏览器执行用例时报错java.lang.IllegalStateException
驱动谷歌浏览器执行用例时报错信息:java.lang.IllegalStateException Exception in thread "main" java.lang.Ille ...
最新文章
- 关于MySQLdb连接数据的使用(插入数据,删除数据,更新数据,搜索数据——前端页面完成这些对数据库的操作)
- Network| ICMP
- 云宇宙iwemeta: 亚马逊全面进军元宇宙
- flex和box、flexbox高度自适应常见坑
- C++基础与面向对象
- flink启动命令参数_Flink集群部署
- 更改chrome临时目录(可举一反三)
- 艾伟_转载:使用Lambda表达式编写递归函数
- 【华为云技术分享】云小课 | WAF反爬虫“三板斧”:轻松应对网站恶意爬虫
- 史上最全最白话RNN原理
- linux挂载sata硬盘分区,Linux下挂载硬盘分区的几种方法
- Mac安装jdk并配置环境变量
- depends工具查看exe和dll依赖关系
- 【SPSS笔记】主效应、交互效应
- TurboMail邮件系统图片签名档功能
- java中级程序员全面学习路线教程
- cosface:large margin cosine loss for deep face recognition
- Windows截图快捷键及自动保存路径
- 睿智的目标检测28——YoloV4当中的Mosaic数据增强方法
- Windows下利用WSA实现无缝运行安卓应用(最详细)
热门文章
- 在VMware上如何创建虚拟机以及安装linux系统
- 如何查看博客是否被搜索引擎收录
- 检查评分汇总表缺项计算机,综合检查评分表.docx
- kettle4.1 连接 mysql8 库异常:org.gjt.mm.mysql.Driver
- python+selenium打开浏览器-设置浏览器路径和驱动器路径
- 如何自己重装系统win7
- intellij idea实现代码实时翻译的插件开发
- linux双网卡配置,静态路由表配置
- 003.原生数据类型使用陷阱 Pitfall of Primitive Data Type
- linux中man手册用法,Linux中man手册的使用