新版任你发,我用 Java 8。
这可能是当下 Java 开发者所经常听到的一句话,这也从侧面反映出了 Java 8 的经典。
不过时代可能真的要抛弃 Java 8,拥抱新版本了。
之前 Spring Boot 发布了 3.0.0-M1 版本,并官宣全面拥抱 Java 17。
下面的截图则是 Release Notes 中的一段:
其他的新特性大家有兴趣也可以去 Github 查看。
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0.0-M1-Release-Notes/16c166b5fb4232998a8cfd3966c2851ec1eddf02
Spring Boot 3.0.0-M1 版本发布,也意味着 Spring Boot 进入 3.x 版本的迭代。
同时也看到,3.x 版本开始 Spring Boot 要全面拥抱 Java 17 了。
凑巧的是,2022 年 2 月,Elastic 也发布了新版本 Elastic 8。
这个版本跟上个版本间隔了 3 年。
下面的截图是 Issue 79873:
可以看到,运行新的 Elasticsearch 版本需要 Java 17 了。
从 Java 8 以后, 每个版本发布都增加了哪些主要新特性呢 ?我们一起来看看,这里挑几点列一下。
String html = """
Hello, world
""";
if (obj instanceof String s) {
//这里可以使用 s 变量
} else {
//这里不能使用 s 变量
}
Object o;
switch (o) {
case null -> System.out.println("首先判断对象是否为空,走空指针逻辑等后续逻辑");
case String s -> System.out.println("判断是否为字符串,s:" + s);
case record p -> System.out.println("判断是否为Record类型: " + p.toString());
case int[] arr -> System.out.println("判断是否为数组,展示int数组的长度" + ia.length);
case Integer i -> System.out.println("判断是否为Intger对象,i:" + i);
case Student s -> System.out.println("判断是否为具体学生对象,student:" + s.toString());
case UserCommonService -> System.out.println("判断是否为普通用户实现类,然后走普通用户逻辑");
case UserVipService -> System.out.println("判断是否为vip用户实现类,然后走vip用户逻辑");
default -> System.out.println("Something else");
}
注意:上面的版本只有 Java 11 和 Java 17 是 LTS(Long Term Support) 版本 。
从最近的一些主流互联网技术框架的更新中多少也能隐约感受到,全面拥抱 Java 新版本的阶段还没有真的到来,但或许已经在路上了。
页面更新:2024-04-25
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号