IDEA如何调试Stream API

Stream API现在在实际开发中应用非常广泛,经常会遇到需要调试Stream API的场景,这篇文章主要讲解如何使用IDEA调试Stream

复制代码
@Test
   public void test(){
      Stream.of(10, 20, 30, 40, 50).mapToInt(e->e*10)
                                             .filter(e->e>200)
                                                .forEach(System.out::println);
   }

调试代码如上所示,这里简单的创建一个Stream,调用mapToInt对每个元素乘以10,然后通过filter过滤出结果大于200的打印出来,这个操作非常简单,本文主要讲解如何调试

如上图所示,先在第一行 打断点,然后点击debugRun,进入调试模式,此时点击图中红框所示的"Trace Current Stream Chain"按钮,出现下图:

会显示出Stream接口的全部操作,点击mapToInt,出现下图,得到mapToInt的结果

点击filter,出现下图,得到filter的结果

或者直接点击左下角的Flat Mode,出现下图,直接显示mapToInt,filter的结果

到此Stream API的调试讲解完成。

接下来讲解下 Optional 链式调用的调试方式

复制代码
   @Test
   public void test1(){
      String str = Optional.of("hello,world")
              .map(e->e+"hi")
              .map(e->e+"debug")
              .map(e->e+"test").get();
      System.out.println(str);
   }

调试代码如上图所示,在第一行,打上断点,debug运行,如图:

发现"Trace Current Stream Chain"按钮是灰色的,不可点击,此时可以如图所示

选择:

复制代码
Optional.of("hello,world")
              .map(e->e+"hi")
              .map(e->e+"debug")
              .map(e->e+"test")

点击右键,选择Evaluate Expression

在接下来的弹窗点击Evaluate,即可得到计算的结果

这个Evaluate Expression可以在调试过程中,选择任意需要调试的代码,执行得到结果

相关推荐
flushddd17 分钟前
GOOUUU ESP32-S3-CAM 果云科技开发板开发指南(一)(超详细!)Vscode+espidf 通过摄像头拍摄照片并存取到SD卡中,文末附源码
ide·vscode·编辑器·esp32
bxlj_jcj21 分钟前
解锁Java线程池:性能优化的关键
java·性能优化·多线程
海棠一号24 分钟前
JAVA理论第七章-MYSQL
java·数据库·mysql
网安INF1 小时前
CVE-2024-23897源码分析与漏洞复现(Jenkins 任意文件读取)
java·web安全·网络安全·jenkins·漏洞
oioihoii1 小时前
C++11列表初始化:从入门到精通
java·开发语言·c++
qqxhb1 小时前
零基础设计模式——行为型模式 - 命令模式
java·设计模式·go·命令模式
sg_knight2 小时前
Ribbon负载均衡实战指南:7种策略选择与生产避坑
java·spring boot·spring·spring cloud·微服务·ribbon·负载均衡
Java初学者小白2 小时前
秋招Day12 - 计算机网络 - 网络安全
java
蔡蓝2 小时前
设计模式-适配器模式
java·设计模式·适配器模式