JDK9对集合添加的优化(of方法)

JDK9的新特性:
  1.List接口,Set接口,Map接口:里边增加了一个静态的方法of,可以给集合一次性添加多个元素

  2.static List of (E… elements)

  3.使用前提:
    1.当集合中存储的元素的个数已经确定了,不在改变时使用

注意:

  1. of方法只适用于List接口,Set接口,Map接口,不适用于接接口的实现类

    2.of方法的返回值是一个不能改变的集合,集合不能再使用add,put方法添加元素,会抛出异常

    3.Set接口和Map接口在调用of方法的时候,不能有重复的元素,否则会抛出异常

public class Demo01JDK9 {
public static void main(String[] args) {
List<String> list = List.of("a", "b", "a", "c", "d");
System.out.println(list);//[a, b, a, c, d]
//list.add("w");//UnsupportedOperationException:不支持操作异常 //Set<String> set = Set.of("a", "b", "a", "c", "d");//IllegalArgumentException:非法参数异常,有重复的元素
Set<String> set = Set.of("a", "b", "c", "d");
System.out.println(set);
//set.add("w");//UnsupportedOperationException:不支持操作异常 //Map<String, Integer> map = Map.of("张三", 18, "李四", 19, "王五", 20,"张三",19);IllegalArgumentException:非法参数异常,有重复的元素
Map<String, Integer> map = Map.of("张三", 18, "李四", 19, "王五", 20);
System.out.println(map);//{王五=20, 李四=19, 张三=18}
//map.put("赵四",30);//UnsupportedOperationException:不支持操作异常
}
}

Debug追踪

Debug调试程序:

  • 可以让代码逐行执行,查看代码执行的过程,调试程序中出现的bug

使用方式:

  1. 在行号的右边,鼠标左键单击,添加断点(每个方法的第一行,哪里有bug添加到哪里)

    2.右键,选择Debug执行程序

    3.程序就会停留在添加的第一个断点处

执行程序:

  f8:逐行执行程序

  f7:进入到方法中

  shift+f8:跳出方法

  f9:跳到下一个断点,如果没有下一个断点,那么就结束程序

  ctrl+f2:退出debug模式,停止程序

  Console:切换到控制台

最新文章

  1. React(一)基础点
  2. [IPA]IOS In App Purchase(内购)验证
  3. Excel表3级数据整理工具
  4. halcon中variation_model_single实例注释.
  5. ios专题 -block用法
  6. 使用 Cloud Insight SDK 监控北京空气质量!
  7. MVC WebApi 用户验证 (2)
  8. 开涛spring3(6.1) - AOP 之 6.1 AOP基础
  9. 并发系列(6)之 ThreadPoolExecutor 详解
  10. CentOS7完成mysql的安装和远程访问
  11. 传输层中的协议 TCP &amp; UDP
  12. Go语言规格说明书 之 类型声明(Type declarations)
  13. Git 重命名操作
  14. 命名空间与Autoload
  15. xmldecoder漏洞
  16. C++动态(显式)调用 C++ dll
  17. 如何借助 HealthKit 打造一款健身应用?
  18. Selenium如何定位动态id的元素?
  19. Netty 源码(一)服务端启动
  20. ASP.NET MVC 4 中Razor 视图中JS无法调试

热门文章

  1. rocketmq消息及流程
  2. 为什么 Nginx 比 Apache 更厉害?
  3. 面试官问:浏览器输入 URL 回车之后发生了什么?
  4. 如何在Linux上恢复误删除的文件或目录
  5. 3D离线地图开发
  6. python读写excel表格,4泼水板房
  7. 基于C++11的线程池实现
  8. 多线程07:async、future、packaged_task、promise
  9. zabbix脚本获取web status code,异常告警
  10. OAuth2.0之OLTU实现举例