我是靠谱客的博主 专一小白菜,最近开发中收集的这篇文章主要介绍JDK1.9-集合新特新of()与断点调试第二章 补充知识点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

第二章 补充知识点

2.1 JDK9对集合添加的优化

通常,我们在代码中创建一个集合(例如,List 或 Set ),并直接用一些元素填充它。 实例化集合,几个 add方法 调用,使得代码重复。

public class Demo01 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("abc");
        list.add("def");
        list.add("ghi");
        System.out.println(list);
    }
}

Java 9,添加了几种集合工厂方法,更方便创建少量元素的集合、map实例。新的List、Set、Map的静态工厂方法可以更方便地创建集合的不可变实例。

例子:

public class HelloJDK9 {  
    public static void main(String[] args) {  
        Set<String> str1=Set.of("a","b","c");  
        //str1.add("c");这里编译的时候不会错,但是执行的时候会报错,因为是不可变的集合  
        System.out.println(str1);  
        Map<String,Integer> str2=Map.of("a",1,"b",2);  
        System.out.println(str2);  
        List<String> str3=List.of("a","b");  
        System.out.println(str3);  
    }  
} 

需要注意以下两点:

1:of()方法只是Map,List,Set这三个接口的静态方法,其父类接口和子类实现并没有这类方法,比如 HashSet,ArrayList等待;

2:返回的集合是不可变的;

2.2 Debug追踪

使用IDEA的断点调试功能,查看程序的运行过程

  1. 在有效代码行,点击行号右边的空白区域,设置断点,程序执行到断点将停止,我们可以手动来运行程序

    在这里插入图片描述

  2. 点击Debug运行模式
    在这里插入图片描述

  3. 程序停止在断点上不再执行,而IDEA最下方打开了Debug调试窗口

在这里插入图片描述

  1. Debug调试窗口介绍

在这里插入图片描述

  1. 快捷键F8,代码向下执行一行,第九行执行完毕,执行到第10行(第10行还未执行)

在这里插入图片描述

  1. 切换到控制台面板,控制台显示 请录入一个字符串: 并且等待键盘录入

在这里插入图片描述

  1. 快捷键F8,程序继续向后执行,执行键盘录入操作,在控制台录入数据 ababcea

在这里插入图片描述

回车之后效果:
在这里插入图片描述

调试界面效果:
在这里插入图片描述
9. 此时到达findChar方法,快捷键F7,进入方法findChar

在这里插入图片描述

  1. 快捷键F8 接续执行,创建了map对象,变量区域显示

在这里插入图片描述

  1. 快捷键F8 接续执行,进入到循环中,循环变量i为 0,F8再继续执行,就获取到变量c赋值为字符‘a’ 字节值97

在这里插入图片描述

  1. 快捷键F8 接续执行,进入到判断语句中,因为该字符 不在Map集合键集中,再按F8执行,进入该判断中
    在这里插入图片描述

  2. 快捷键F8 接续执行,循环结束,进入下次循环,此时map中已经添加一对儿元素

在这里插入图片描述

  1. 快捷键F8 接续执行,进入下次循环,再继续上面的操作,我们就可以看到代码每次是如何执行的了
    在这里插入图片描述

  2. 如果不想继续debug,那么可以使用快捷键F9,程序正常执行到结束,程序结果在控制台显示

在这里插入图片描述

最后

以上就是专一小白菜为你收集整理的JDK1.9-集合新特新of()与断点调试第二章 补充知识点的全部内容,希望文章能够帮你解决JDK1.9-集合新特新of()与断点调试第二章 补充知识点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部