首页 > 编程语言 >java9 和代码相关的主要新特性

java9 和代码相关的主要新特性

时间:2023-03-21 18:37:49浏览次数:42  
标签:map set 代码 list System 特性 println java9 out


1. 增加了jshell的命令行客户端 (相比较其他的稍微有点用处)

2. 多版本兼容jar (一个项目可以打出来适用于不同jdk版本的jar包)

3. 集合工厂方法 (超有用)
-- 之前创建方式
public static void main(String []args) {
Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
set.add("C");
set = Collections.unmodifiableSet(set);
System.out.println(set);
List<String> list = new ArrayList<>();

list.add("A");
list.add("B");
list.add("C");
list = Collections.unmodifiableList(list);
System.out.println(list);
Map<String, String> map = new HashMap<>();

map.put("A","Apple");
map.put("B","Boy");
map.put("C","Cat");
map = Collections.unmodifiableMap(map);
System.out.println(map);
}
-- 现在创建方式
Set<String> set = Set.of("A", "B", "C");
System.out.println(set);
List<String> list = List.of("A", "B", "C");
System.out.println(list);
Map<String, String> map = Map.of("A","Apple","B","Boy","C","Cat");
System.out.println(map);
4. 接口中可以定义如下方法
常量,抽象方法,默认方法,静态方法,私有方法,私有静态方法
5. 改进的 Stream API
5.1.takeWhile() // takeWhile 方法在碰到空字符串时停止循环输出
// 示例
Stream.of("a","b","c","","e","f")
.takeWhile(s->!s.isEmpty())
.forEach(System.out::print);
// 输出
abc
5.2.dropWhile() // dropWhile 方法在碰到空字符串时开始循环输出
// 示例
Stream.of("a","b","c","","e","f")
.dropWhile(s-> !s.isEmpty())
.forEach(System.out::print);
// 输出
ef
5.3.iterate() // 变相for循环
// 示例
IntStream.iterate(3, x -> x < 10, x -> x+ 3).forEach(System.out::println);
// 输出
3,6,9
5.4.ofNullable() // 判NULL,防止空指针异常
6. try-with-resources
7. 改进的@Deprecated (过期方法)
8. 改进的 Optional 类

 

标签:map,set,代码,list,System,特性,println,java9,out
From: https://blog.51cto.com/u_16021118/6140770

相关文章

  • 完成人生的第一次代码贡献 - 新手村任务
    任务列表任务一:做一个合格的代码贡献者如何下载代码?如何运行代码?如何给天天造轮子提交代码贡献?任务二:编写一个符合TDD标准的代码如何使用TDD(测试驱动方式)开发一个H......
  • 为什么需要代码签名,代码签名是如何工作的?
    进入系统的常见方法之一是通过恶意软件。恶意软件可以到达系统的方式是通过软件。你们中的一些人在安装软件时一定注意到了PC上的未知发布者警告。如果你没有,那么你很幸运,......
  • 一段四合一图片整和Java代码
    实现内容能够实现将四张图片拼接,整合成一张完整图片 使用了getRGB、setRGB方法进行图片的提取拼接实现代码image1=ImageIO.read(imageFile1);image2=ImageIO.r......
  • 一起学学Vue Router 4.X开发中用到的新特性
    前言:vue3发布这么久以来,还没好好梳理过它相关的全家桶,今天我们先聊聊VueRouter4.X的使用以及新特性!可以说路由是一个简单又复杂的东西,简单指的是我们日常使用的过程中......
  • JAVA代码审计 SSRF篇
    一、巩固SSRFSSRF服务端请求伪造,Web应用程序往往会提供一些能够从远处获取图片或是文件的接口,在这些接口上用户使用指定的URL便能完成远程获取图片,下载文件等操作。......
  • 在word中插入代码片段——Easy Code Formatter
    word中的插件“EasyCode Formatter”可以对word中的代码进行排班、高亮显示等等。安装之前需要管道word、Excel等,在浏览器中搜索EasyCode Formatter,获取并下载之后,再......
  • 专业开发人员使用低代码是什么体验?
     相关数据显示,74%的公司计划将低代码此业务线集成到应用程序开发生命周期中,显而易见,公司正在采用低代码技术来缓解应用程序开发需求的压力。现在你的老板告诉你低代码开......
  • 华为OD机试 找出重复代码
    本期题目:找出重复代码......
  • nodejs处理一段redis获取集合,数组的代码优化(其中包含:es6同步返回数据的处理,new Pro
    从异步,用延时来处理,改成同步获取数据获取数据主要分2步:1.从redis集合中获取数组;2.遍历数组,抓取其中字符串,解析,拼接成需要的数据,返回给前端原代码,用sleep方法,避免异步......
  • 用状态模式改善代码的可维护性
    设计模式之状态模式状态模型是一种软件设计模式,它通过将对象的行为随状态变化而变化来实现状态机的行为。状态机可以将一个对象的生命周期分解为若干个状态,并规定在不同状......