12-IDEA-调试Stream流

java的stream编程给调试带来了极大的不便,idea 推出了streamtrace功能,可以详细看到每一步操作的关系、结果,非常方便进行调试。

初遇StreamTrace

这里简单将字符串转成它的字符数,并设置断点开启debug模式。

image-20230227160535945

如上图所示,可以看到每一步操作的元素个数、操作的结果、元素转换前后的对应关,非常清晰明了;还可以查看具体的对象内容。

使用StreamTrace

StreamTrace只有在debug模式下才能使用,当在Stream代码上设置断点后,启动debug,点击流按钮,如图所示。

image-20230227160547020

点击后,默认Split 模式显示。

image-20230227160605536

可以点击左下方按钮切换到 FlatMode 模式,当然也可以再切换回去。

image-20230227160619492

实战演示

这里演示一段字符转长度并过滤长度小于5的stream操作:

1
2
3
4
5
6
7
@Test
public void TestTrace() {
Stream.of("beijing","tianjin","shanghai","wuhan")
.map(String::length)
.filter(e->e>5)
.collect(Collectors.toList());
}

image-20230227160830021


12-IDEA-调试Stream流
https://janycode.github.io/2021/02/27/00_先利其器/01_Intellij IDEA/12-IDEA-调试Stream流/
作者
Jerry(姜源)
发布于
2021年2月27日
许可协议