Java8的Stream调试神器——StreamTrace调试工具

1、前言

  在项目中往往充斥着各种各样的集合遍历操作,“看起来难受,写起来手酸”。自从 Java 8 开始,利用新增的Stream抽象,完美解决了以上问题。利用Stream进行数据处理,极大程度上简化了代码,提升了开发效率,但是Stream编程也给程序员的调试带来了极大的不方便,很多程序员可能都经历过调试Stream的痛苦。现在Idea 推出的StreamTrace功能,可以详细看到每一步操作的关系、结果,非常方便进行调试,为程序员带来了“福音”。

2、StreamTrace调试工具的使用

  先熟悉一下,下面的代码,实现逻辑:第一步:筛选“cloth”类型产品,再筛选价格大于100的产品,产品类型转成整型(价格),最后输出。

/**
 * Stream调试小技巧
 */
public class StreamTraceTest {

    public static void main(String[] args) {
        //第一步:筛选“cloth”类型产品,再筛选价格大于100的产品,产品类型转成整型(价格),最后输出。
        Stream<Production> stream = initData().stream();
        stream.filter(p -> p.getName().equalsIgnoreCase("cloth") ? true : false)//(1)
                .filter(p -> p.getPrice()>100 ? true : false)
                .map(Production::getPrice)
                .forEach(i -> System.out.println(i));
    }
    public static List<Production> initData(){
        List<Production> list = new ArrayList<>();
        list.add(new Production("T-Shirt",43.34d));
        list.add(new Production("cloth",99.99d));
        list.add(new Production("shoe",123.8d));
        list.add(new Production("hat",26.5d));
        list.add(new Production("cloth",199.99d));
        list.add(new Production("shoe",32.5d));
        return list;
    }
}

  在上述代码(1)处,设置断点,然后以debug模式运行,然后点击如下所示“按钮”,就可以进入到StreamTrace可视化调试视图,分为Flat Mode 和 Split Mode两种视图,如下所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  这个调试小技巧,可以为我们在调试Stream编程的代码中发挥很大的作用,留下笔记,以便后续的学习和使用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姠惢荇者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值