Java8 stream超实用的调试工具

本文介绍了如何使用Java Stream Debugger这一IDEA内置工具来调试Java8的Stream和Lambda表达式。通过实例展示了如何追踪流操作,包括过滤、映射和排序,使调试过程更加清晰易懂。
前言

Java8新增的Stream、Lambda特性极大的方便了日常中对集合数据的处理过程,代码简洁优雅。但同时也引入了一个问题,难于调试!接下来我给大家介绍个工具Java stream debugger,它是由idea自带的,如果你的idea版本过低的话可以去插件商店去下载,,这个工具可以让我们清晰的看到流中具体做了什么操作,首先贴出我们要调试的代码。

 public static void testDeBug() {
        int[] ints = IntStream.of(10, 20, 40, 30, 56, 80)
                .filter(e -> e > 20)
                .map(e -> e * 2)
                .sorted()
                .toArray();
        for (int i : ints) {
            System.out.println(i);
        }
    }

我们可以看到这段代码对我们的数据做了过滤重新赋值和排序最后给他转成一个int数组,然后我们打印了这个数组,接下来我们看一下怎么调试它

snipaste20210520_102407.jpg
首先我们debug运行一下注意我图上箭头标的那个图标鼠标放上去

00.jpg

上面有个描述trace current stream chain翻译成中文就是追踪电流流链,简而言之就是看我们流中到底做了一些什么操作接下来我们点开它

01.jpg
然后会得到这样一个页面首先我们看到一些int数据接着我们去点击filter

02.jpg
可以看到这边已经把大于20的数据过滤掉了接着我们点击map

03.jpg
这边看到我们对过滤完的数据进行了重新赋值让每个数据都乘2然后接着往下走

04.jpg
看到这边我们对数据进行了一个自然排序接着在往下走

05.jpg
这边看到我们把数据转成一个int数组最后返回,是不是很清晰明了感觉比平时debug还要清楚,这下我看谁还说stream一时写的爽,调试火葬场。

总结

文章到这就分享完了觉得有用的程序员就get起来吧!

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值