一. 前⾔
从springboot3.0开始,已经不⽀持JDK8了。 从3.0开始,转变为JDK17。
官⽅维护的版本都是SpringBoot3.X的了,但是之前的版本也是可以⽤的,只是官⽅不再进⾏功能更新了.
综上所述,选⽤Java17,概括起来主要有下⾯⼏个主要原因:
1.
JDK 17 是 LTS (⻓期⽀持版),可以免费商⽤到 2029 年。⽽且将前⾯⼏个过渡版(JDK 9-JDK 16)去其糟粕,取其精华的版本;
2.
JDK 17 性能提升不少,⽐如重写了底层 NIO,⾄少提升 10% 起步;
3.
⼤多数第三⽅框架和库都已经⽀持,不会有什么⼤坑;
二. ⼀些新增的特性
1 yield关键字
yield关键字,从Java13开始引⼊。yield关键字⽤于从case的代码块中返回值。
正常的switch语句:
public static void main(String[] args) {
String data = "one" ;
int result = 0 ; // 接收数据的返回值
switch (data) {
case "one":
result = 1 ; // 为result重新赋值
break ;
case "two":
result = 2 ; // 为result重新赋值
break ;
default:
result = -1 ; // 为result重新赋值
break ;
}
System.out.println(result) ;
}
简化后的switch:
public static void main(String[] args) {
String data = "one" ;
int result = switch (data) {
case "one"->1;
case "two"->2;
default->-1;
};
System.out.println(result) ;
}
如果不想使⽤指向符-> 可以使⽤yield来代替:
public static void main(String[] args) {
String data