达内教育IT培训大连分校

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 学校动态>国内软件开发培训品牌一览表

国内软件开发培训品牌一览表

达内教育,2014年4月3日成功在美国纳斯达克上市,致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销工程师等,为不影响您的学习,来校区前请先电话或QQ咨询,方便我校安排相关课程的专业老师为您解答~接下来达内教育的小编为您分享,Java8使用Stream的缺点是调试困难?

来,我们再看下Java8中的实现代码:

System.out.println("使用Java 8:");

count=strings.stream().filter(string->string.isEmpty()).count();

System.out.println("空字符串数量为:"+count);

就一行代码,我们需要怎么打断点调试呢?

如上图所示,在Stream代码的这一行打断点,如果你选择Line,那么就无法调试,跟踪不到Stream在管道中传输以及在管道的节点上进行的filter处理动作。

选择断点加在lambda表达式上,然后使用单步调试才可以进入,不得不说IDEA是真的强????。我印象中之前使用2019版本打断点是没有出现这个提示的,反正2020以上的版本肯定都有了,打断点的时候就会提示选择。

虽然可以调试,问题是可以解决了,不过还不够强,接下来大家别眨眼睛,一个更强大、更直观的视图,帮助我们一眼就能看出Stream的处理过程。

可视化追踪Stream链

步骤还是上面的一样,打断点,以Debug的方式运行程序,区别在于打断点时无需选择是行端点还是lambda表达式上面,随便选择只要打上断点即可:

点击图中按钮,就会自动打开一个Stream处理流程的视图,整个处理过程变得一目了然,视图分为三分部,左边是初始集合的数据,中间是Stream处理过滤后的数据,右边是较终操作得到的处理结果。

这样Java8 Stream相关的API(筛选,排序,聚合)操作就都可以可视化的展示出来了,调试时非常的方便,排查问题岂不是一眼就看到问题所在了。

领取试听课
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网