1 前言
Stream是Java 8 API添加的一个新的抽象,可以让开发者在数据节点上直接处理筛选、排序、聚合等操作,很多情况只需要一行代码就可以简洁的解决问题。但是在使用过程中如果程序运行结果和期望不一样调试起来也是很头疼的事,IntelliJ提供了很好用的组件专门用来调试Stream, 新版本的IntelliJ已经内置了这个插件,老版本的可以在插件仓库中搜索java stream debugger安装。
2上干货
2.1 代码准备
Stream.of("Howareyou?","JavaStream","Hello","Welcome","Hi","aloha")
.filter(text->text.startsWith("H"))
.map(text->text.substring(2))
.distinct()
.sorted()
.collect(Collectors.toList());
2.2步骤
在这行代码上设置断点后开始调试,断点中断后点击下面按钮启动Stream Debugger
Stream Debugger的窗口中会顺序列出Stream里每一步用到的方法和数据变化的过程
点击左下方Flat Mode展示全部流程