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

导读:本篇文章讲解 Java8的Stream调试神器——StreamTrace调试工具,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

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编程的代码中发挥很大的作用,留下笔记,以便后续的学习和使用。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/68712.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!