stream流:idea调试小技巧

也因为我个人是比较喜欢使用lambda和stream新特性的,但是调试“有些困难”,下面介绍idea自带的调试工具

下面的算是流程比较长的了,当然实际工作中可能遇到比这个还要复杂的。

        List<Integer> list = Arrays.asList(45,56,23,89,34,78,56);
        Map<Boolean, List<Integer>> collect = list.stream()
                .filter(i -> i * 2 > 60)
                .sorted()
                .map(i -> i - 10)
                .distinct()
                .collect(Collectors.groupingBy(i -> i >= 50, Collectors.toList()));
        System.out.println(collect);

先在stream那行打上断点。点击debug运行

image-20200926112028682

再点击那个小按钮

image-20200926112212281

弹出一个stream trace的框,初始状态如下

image-20200926112256364

然后我们就能看到每一步的运行情况了。

filter:

image-20200926112343850

sorted:

image-20200926112358068

map:

image-20200926112411963

distinct:

image-20200926112424928

collect:

image-20200926112452002
原文地址:https://www.cnblogs.com/wwjj4811/p/13734382.html