前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JDK1.9-集合新特新of()与断点调试

JDK1.9-集合新特新of()与断点调试

作者头像
cwl_java
发布2019-12-03 12:00:45
3700
发布2019-12-03 12:00:45
举报
文章被收录于专栏:cwl_Javacwl_Java

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

第二章 补充知识点

2.1 JDK9对集合添加的优化

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

代码语言:javascript
复制
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的静态工厂方法可以更方便地创建集合的不可变实例。

例子:

代码语言:javascript
复制
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. 在有效代码行,点击行号右边的空白区域,设置断点,程序执行到断点将停止,我们可以手动来运行程序
在这里插入图片描述
在这里插入图片描述
  • 点击Debug运行模式
在这里插入图片描述
在这里插入图片描述
  • 程序停止在断点上不再执行,而IDEA最下方打开了Debug调试窗口
在这里插入图片描述
在这里插入图片描述
  • Debug调试窗口介绍
在这里插入图片描述
在这里插入图片描述
  • 快捷键F8,代码向下执行一行,第九行执行完毕,执行到第10行(第10行还未执行)
在这里插入图片描述
在这里插入图片描述
  • 切换到控制台面板,控制台显示 请录入一个字符串: 并且等待键盘录入
在这里插入图片描述
在这里插入图片描述
  • 快捷键F8,程序继续向后执行,执行键盘录入操作,在控制台录入数据 ababcea
在这里插入图片描述
在这里插入图片描述

回车之后效果:

在这里插入图片描述
在这里插入图片描述

调试界面效果:

在这里插入图片描述
在这里插入图片描述

9. 此时到达findChar方法,快捷键F7,进入方法findChar

在这里插入图片描述
在这里插入图片描述
  • 快捷键F8 接续执行,创建了map对象,变量区域显示
在这里插入图片描述
在这里插入图片描述
  • 快捷键F8 接续执行,进入到循环中,循环变量i为 0,F8再继续执行,就获取到变量c赋值为字符‘a’ 字节值97
在这里插入图片描述
在这里插入图片描述
  • 快捷键F8 接续执行,进入到判断语句中,因为该字符 不在Map集合键集中,再按F8执行,进入该判断中
在这里插入图片描述
在这里插入图片描述
  • 快捷键F8 接续执行,循环结束,进入下次循环,此时map中已经添加一对儿元素
在这里插入图片描述
在这里插入图片描述
  1. 快捷键F8 接续执行,进入下次循环,再继续上面的操作,我们就可以看到代码每次是如何执行的了
在这里插入图片描述
在这里插入图片描述
  1. 如果不想继续debug,那么可以使用快捷键F9,程序正常执行到结束,程序结果在控制台显示
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第二章 补充知识点
    • 2.1 JDK9对集合添加的优化
      • 2.2 Debug追踪
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档