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错误相关推荐

  1. 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 ...

  2. Jetty提交数据时报java.lang.IllegalStateException: Form too large270468>200000问题解决

    Jetty提交数据时报java.lang.IllegalStateException: Form too large270468>200000问题解决 参考文章: (1)Jetty提交数据时报j ...

  3. java.lang.IllegalStateException: stream has already been operated upon or closed 异常

    Stream流是Java8 API推出的新特性,极大的简化了我们遍历集合和筛选集合的操作,但是初次使用时极有可能出现错误. 异常如图所示: 异常意思: Java中的"流已被操作或关闭&quo ...

  4. Stream流--java.lang.IllegalStateException: stream has already been operated upon or closed

    stream用了两次,forEach()已经进行了中止操作 终止操作符就是对数据进行收集或者消费的,数据到了终止操作这里就不会向下流动了,终止操作符只能使用一次.

  5. java.lang.IllegalStateException: Underflow in restore - more restores than saves

    1. 错误描述 java.lang.IllegalStateException: Underflow in restore - more restores than saves 2. 错误原因 Can ...

  6. 安卓开发 java.lang.IllegalStateException isPlaying() 解决方案

    安卓开发,友盟日志 抛出异常 MediaPlayer : java.lang.IllegalStateException at android.media.MediaPlayer.isPlaying( ...

  7. JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)

    测试又报bug啦 接到测试小伙伴的问题,说是一个接口不返回数据了,好吧,虽然不是我写的接口任务落到头上也得解决,本地调试了一下,好家伙,直接抛了个异常出来,这又是哪位大哥喝醉了写的代码... Exce ...

  8. 使用RestTemplate时报错java.lang.IllegalStateException: No instances available for 127.0.0.1

    我在RestTemplate的配置类里使用了 @LoadBalanced @Component public class RestTemplateConfig { @Bean @LoadBalance ...

  9. 驱动谷歌浏览器执行用例时报错java.lang.IllegalStateException

    驱动谷歌浏览器执行用例时报错信息:java.lang.IllegalStateException Exception in thread "main" java.lang.Ille ...

最新文章

  1. 关于MySQLdb连接数据的使用(插入数据,删除数据,更新数据,搜索数据——前端页面完成这些对数据库的操作)
  2. Network| ICMP
  3. 云宇宙iwemeta: 亚马逊全面进军元宇宙
  4. flex和box、flexbox高度自适应常见坑
  5. C++基础与面向对象
  6. flink启动命令参数_Flink集群部署
  7. 更改chrome临时目录(可举一反三)
  8. 艾伟_转载:使用Lambda表达式编写递归函数
  9. 【华为云技术分享】云小课 | WAF反爬虫“三板斧”:轻松应对网站恶意爬虫
  10. 史上最全最白话RNN原理
  11. linux挂载sata硬盘分区,Linux下挂载硬盘分区的几种方法
  12. Mac安装jdk并配置环境变量
  13. depends工具查看exe和dll依赖关系
  14. 【SPSS笔记】主效应、交互效应
  15. TurboMail邮件系统图片签名档功能
  16. java中级程序员全面学习路线教程
  17. cosface:large margin cosine loss for deep face recognition
  18. Windows截图快捷键及自动保存路径
  19. 睿智的目标检测28——YoloV4当中的Mosaic数据增强方法
  20. Windows下利用WSA实现无缝运行安卓应用(最详细)

热门文章

  1. 在VMware上如何创建虚拟机以及安装linux系统
  2. 如何查看博客是否被搜索引擎收录
  3. 检查评分汇总表缺项计算机,综合检查评分表.docx
  4. kettle4.1 连接 mysql8 库异常:org.gjt.mm.mysql.Driver
  5. python+selenium打开浏览器-设置浏览器路径和驱动器路径
  6. 如何自己重装系统win7
  7. intellij idea实现代码实时翻译的插件开发
  8. linux双网卡配置,静态路由表配置
  9. 003.原生数据类型使用陷阱 Pitfall of Primitive Data Type
  10. linux中man手册用法,Linux中man手册的使用