使用IntelliJ IDEA调式Stream流的方法步骤

目录
  • 前言
  • 开篇
    • 在使用Stream的地方打个断点
    • Debug方式运行

前言

今天有小伙伴问我Stream流该怎么调式的问题,在跟他讲了之后我觉得有必要分享给各位小伙伴这个调式技巧,终结bug指日可待!

开篇

相信点进来的都了解Stream流是什么?也肯定知道这是Java8的新特性之一,我就不过多介绍了,在日常的开发中挺常用的,下面就举一个简单的例子来教你们如何调式:

对以下集合进行去重并进行排序。

List<String> strings = Arrays.asList("1", "2", "5", "4", "1");

脑海里有解题的思路了吧,直接上代码:

public static void main(String[] args) {
        List<String> strings = Arrays.asList("1", "2", "5", "4", "1");
        List<String> collect = strings.stream().distinct().sorted().collect(Collectors.toList());
        collect.forEach(System.out::println);
    }

输出结果:

那我想看它中途做了什么操作呢?怎么看?请往下看:

在使用Stream的地方打个断点

Debug方式运行

运行后可以看到已经停下来了,这个时候我们来看看它中间都做了什么操作;

可以通过上面的图看到和我们代码调用的顺序是一样的,你就可以通过这个页面方便的看到它都做了哪些操作啦~

去重

排序

收集

如果你的IDEA版本没有这个按钮的话往下看: 

如果你的版本没有这个按钮的话就需要去下载下面这个插件才能使用了

到此这篇关于使用IntelliJ IDEA调式Stream流的方法步骤的文章就介绍到这了,更多相关 IDEA调式Stream流内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • IntelliJ IDEA中如何调试Java Stream操作

    目录 插件:Java Stream Debugger 调试Stream操作 Stream操作是Java 8推出的一大亮点!虽然java.util.stream很强大,但依然还是有很多开发者在实际工作中很少使用,其中吐槽最多的一个原因就是不好调试,一开始确实是这样,因为stream这样的流式操作在DEBUG的时候,是一行代码,直接下一步的时候,其实一下就过去了好多操作,这样我们就很难判断到底是里面的哪一行出了问题.不过,现在的话,在强大的IDEA插件支持下,stream的调试其实也没那么难了,下面

  • idea中使用Inputstream流导致中文乱码解决方法

    1.问题描述 idea中使用Inputstream流导致中文乱码解决方法,当然也不一定就是输入流,可能输出流或者其他用到了流相关的字符的都可能出现乱码,这里有一个可能的解决办法. 2. 解决办法 ① idea中找到下面的路径 File--Settings--Editor--File Encodings ② Transparent native-to-ascii conversion把这个前面勾上,重新创建文件,执行就OK 很多朋友遇到Java FileInputStream读中文乱码问题,下面小

  • IntelliJ IDEA 老司机居然还没用过 Stream Trace功能(问题小结)

    前言 自从 Java 8 开始,作为程序员的我们都离不开 Stream 相关功能的使用,书写起来那叫一个流畅(这个 feel--).但总是有一些时候,我们对 stream 的操作所要的结果和预期不符,这就需要我们逐步调试,定位问题 常规调试 先来看下面这段代码: public static void main(String[] args) { Object[] res = Stream.of(1,2,3,4,5,6,7,8).filter( i -> i%2 == 0).filter( i ->

  • 详解IDEA中类加载器调用getResourceAsStream()方法需注意的问题

    当我们使用类加载器调用getResourceAsStream()时,经常会出现空指针异常,明明路径名称都没有问题,为什么就是报空指针异常呢? 查了一下getResourceAsStream()的用法: 1. Class.getResourceAsStream(String path) : path 不以'/'开头时默认是从此类所在的包下取资源,以'/'开头则是从ClassPath根下获取.其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源. 2. Class.getCl

  • 使用IntelliJ IDEA调式Stream流的方法步骤

    目录 前言 开篇 在使用Stream的地方打个断点 Debug方式运行 前言 今天有小伙伴问我Stream流该怎么调式的问题,在跟他讲了之后我觉得有必要分享给各位小伙伴这个调式技巧,终结bug指日可待! 开篇 相信点进来的都了解Stream流是什么?也肯定知道这是Java8的新特性之一,我就不过多介绍了,在日常的开发中挺常用的,下面就举一个简单的例子来教你们如何调式: 对以下集合进行去重并进行排序. List<String> strings = Arrays.asList("1&qu

  • asp.net使用DataSet的ReadXml读取XML文件及Stream流的方法

    本文实例讲述了asp.net使用DataSet的ReadXml读取XML文件及Stream流的方法.分享给大家供大家参考,具体如下: string strxml = "<xml><m><a>1</a><b>2</b></m><m><a>11</a><b>22</b></m><m><a>111</a><

  • Intellij IDEA搭建vue-cli项目的方法步骤

    1.安装/升级node环境 vue-cli对于node和npm的版本是有要求的. 可以通过 node -v (npm -v)查看当前版本,通过 where node (where npm)查看安装路径. 如果node版本不符合vue-cli的要求,那么可以在node官网下载稳定版本并安装. 安装过程比较简单,我更新时,除了修改安装路径,其他都是一直Next即可. 这里要提到一点,更新node版本后,查看版本,会发现npm的版本也已经更新了. D:\workspace\MyProject\Jan2

  • 在IntelliJ IDEA中使用gulp的方法步骤(图文)

    安装nodejs 首先电脑中需要安装nodejs,这个就不多提了,windows就是下载node.exe,一步步安装就可以了. 如需安装可参考一下文章:https://www.jb51.net/article/114012.htm intellij中安装nodejs插件 File-–settings--plugins--browse repository-–输入nodejs,点击安装就可以了 安装成功后,重启,设置nodejs和npm File-–settings--node.js和npm,设置

  • Java8 stream流的map()方法你会使用了吗

    目录 一.前言 二.概述 三.详述 3.1.找出所有的学生姓名 3.2.将姓名为“赵三”的语文成绩置为90 3.3.找出一年级学生的成绩 四.总结 一.前言 在日常的开发工作中经常碰到要处理list中数据的问题,比如从数据库中查出了很多学生,由于一些原因需要在内存中找出这些学生中的所有姓名,或者把名为“王五”的语文成绩暂时修改为“100”,这些问题怎么处理呐,之前我们想到的是遍历每个元素,然后取出来放到另外一个集合中,在java8中对集合可以进行流式操作使上面的处理更简洁.今天来看下map()方

  • Java的Stream流来了解一下

    目录 Stream流 1.什么是Stream流: 2.创建流: 3.Stream的map映射流 4.Stream查找与匹配 总结 Stream流 上篇文章讲了Java 8 的一个新特性:Lambda表达式,在业务中若能熟练的使用,可以节省很多代码量,看着也整洁很多.那么这篇文章将介绍另一个新特性:Stream流,不要看错哈!!!不是打游戏的steam!! 1.什么是Stream流: Stream 是Java 8 提出的一个新概念,不是输入输出的 Stream 流 (和IO流其实没有任何关系哈),

  • Java十分钟快速掌握Stream流

    1.什么是Stream流: Stream 是Java 8 提出的一个新概念,不是输入输出的 Stream 流 (和IO流其实没有任何关系哈),而是一种使用函数式编程方式在集合类上进行操作的工具.简而言之,是以内部迭代的方式处理集合数据的操作,内部迭代可以将更多的控制权交给集合类.Stream 和 Iterator 的功能类似,只是Iterator 是以外部迭代的形式处理集合数据的操作. 当然Stream也有自己特性: 不是一种数据结构,不会存数据,只是在原数据集上定义了一组操作 这些操作是惰性的

  • Java基础之Stream流原理与用法详解

    目录 一.接口设计 二.创建操作 三.中间操作 四.最终操作 五.Collect收集 Stream简化元素计算 一.接口设计 从Java1.8开始提出了Stream流的概念,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式:依旧先看核心接口的设计: BaseStream:基础接口,声明了流管理的核心方法: Stream:核心接口,声明了流操作的核心方法,其他接口为指定类型的适配: 基础案例:通过指定元素的值,返回一个序列流,元素的内容是字符串,并转换为Long类型,最终计算求和结果并

  • node.js中stream流中可读流和可写流的实现与使用方法实例分析

    本文实例讲述了node.js中stream流中可读流和可写流的实现与使用方法.分享给大家供大家参考,具体如下: node.js中的流 stream 是处理流式数据的抽象接口.node.js 提供了很多流对象,像http中的request和response,和 process.stdout 都是流的实例. 流可以是 可读的,可写的,或是可读可写的.所有流都是 events 的实例. 一.流的类型 node.js中有四种基本流类型: 1.Writable 可写流 (例:fs.createWriteS

  • 通过实例了解Java 8创建Stream流的5种方法

    这篇文章主要介绍了通过实例了解Java 8创建Stream流的5种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 不知不觉间,Java已经发展到13了,来不及感慨时间过得真的太快了,来不及学习日新月异的技术更新,目前大多数公司还是使用的JDK8版本,一方面是版本的稳定,另一方面是熟悉,所以很多公司都觉得不升级也挺好. 说到JDK8,真的是一个里程碑的版本,一出世就受到所有开发者的青睐,并主动花时间和精力去学习,也是我见过企业升级JDK最豪爽

随机推荐