Java 8 的 Stream 不好调试?试试 IDEA 的调试神器 Stream Trace!
👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战(图文+视频) / Java 学习路线 / 一对一提问 / 学习打卡
目前, 正在星球内部带小伙伴做第一个项目:前后端分离博客,手摸手,后端 + 前端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,直到项目上线。目前已更新了76小节,累计10w+字,讲解图:513张,还在持续爆肝中.. 后续还会上新更多项目,如秒杀系统, 在线商城, IM即时通讯等,戳我加入学习,已有200+小伙伴加入
Java的Stream编程给调试带来了极大的不便,IDEA推出了stream trace功能,可以详细看到每一步操作的关系、结果,非常方便进行调试。
初遇Stream Trace
这里简单将字符串转成它的字符数,并设置断点开启debug模式。
如上图所示,可以看到每一步操作的元素个数、操作的结果、元素转换前后的对应关,非常清晰明了;还可以查看具体的对象内容。
使用StreamTrace
StreamTrace只有在debug模式下才能使用,当在Stream代码上设置断点后,启动debug,点击流按钮,如图所示。
点击后,默认Split 模式显示。
可以点击左下方按钮切换到FlatMode模式,当然也可以再切换回去。
实战演示
这里演示一段字符转长度并过滤长度小于5的stream操作
@Test
public void TestTrace() {
Stream.of("beijing","tianjin","shanghai","wuhan")
.map(String::length)
.filter(e->e>5)
.collect(Collectors.toList());
}
👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战(图文+视频) / Java 学习路线 / 一对一提问 / 学习打卡
目前, 正在星球内部带小伙伴做第一个项目:前后端分离博客,手摸手,后端 + 前端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,直到项目上线。目前已更新了76小节,累计10w+字,讲解图:513张,还在持续爆肝中.. 后续还会上新更多项目,如秒杀系统, 在线商城, IM即时通讯等,戳我加入学习,已有200+小伙伴加入
1. 北京的IT崩盘了么?
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 Java 领取,更多内容陆续奉上。
PS:因公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。
点“在看”支持小哈呀,谢谢啦