JDK21对比JDK8语法升级指南
JDK8经过JDK11(LTS)、JDK17(LTS)、JDK21(LTS)等多个长期支持JDK版本,目前最新版本已经到了JDK22(non lts),下一个长期支持版本为JDK25,因此长时间内JDK21都会是一个生产版本,下面从三个三个方面了解JDK8升级到JDK21中语法层面的内容:新语法特性、新API、并发;
新语法特性
-
Record
RecordKeyword1.java
JEP 432: Record Patterns (Second Preview) -
instanceof增强
Instanceof2.java
JEP 394: Pattern Matching for instanceof -
Sealed Classes:密封类
Permits3.java
JEP 397: Sealed Classes (Second Preview) -
TextBlock:文本块增强
TextBlock4.java
JEP 378: Text Blocks -
switch增强
Switch6.java
JEP 361: Switch Expressions -
var:局部变量类型
Var7.java
JEP 323: Local-Variable Syntax for Lambda Parameters -
Interface Private Method
InterfacePrivate8
JEP 213: Milling Project Coin
新API
-
Collection:集合新增方法
SequencedCollection1.java
[https://openjdk.org/jeps/431](JEP 431: Sequenced Collections) -
BigDecimal.Two
BigDecimalTwo4.java -
HexFormat:16进制转换
HexFormat5.java -
Stream.toList
StreamToList6.java -
Stream.MapMulti:flatMap
StreamToList6.java -
Collectors.Teeing:集合合并
CollectorsTeeing8.java -
String增强
StringIncrease9.java -
Collectors.of:集合初始化
CollectionsFactoryMethods10.java -
Flow API:实现响应式规范
MyPublisher11.java.java -
Arrays.Mismatch:差集
ArraysMismatch12.java