JDK21对比JDK8语法升级指南


JDK21对比JDK8语法升级指南

JDK8经过JDK11(LTS)、JDK17(LTS)、JDK21(LTS)等多个长期支持JDK版本,目前最新版本已经到了JDK22(non lts),下一个长期支持版本为JDK25,因此长时间内JDK21都会是一个生产版本,下面从三个三个方面了解JDK8升级到JDK21中语法层面的内容:新语法特性新API并发;

新语法特性

  1. Record
    RecordKeyword1.java
    JEP 432: Record Patterns (Second Preview)

  2. instanceof增强
    Instanceof2.java
    JEP 394: Pattern Matching for instanceof

  3. Sealed Classes:密封类
    Permits3.java
    JEP 397: Sealed Classes (Second Preview)

  4. TextBlock:文本块增强
    TextBlock4.java
    JEP 378: Text Blocks

  5. switch增强
    Switch6.java
    JEP 361: Switch Expressions

  6. var:局部变量类型
    Var7.java
    JEP 323: Local-Variable Syntax for Lambda Parameters

  7. Interface Private Method
    InterfacePrivate8
    JEP 213: Milling Project Coin

新API

  1. Collection:集合新增方法
    SequencedCollection1.java
    [https://openjdk.org/jeps/431](JEP 431: Sequenced Collections)

  2. BigDecimal.Two
    BigDecimalTwo4.java

  3. HexFormat:16进制转换
    HexFormat5.java

  4. Stream.toList
    StreamToList6.java

  5. Stream.MapMulti:flatMap
    StreamToList6.java

  6. Collectors.Teeing:集合合并
    CollectorsTeeing8.java

  7. String增强
    StringIncrease9.java

  8. Collectors.of:集合初始化
    CollectionsFactoryMethods10.java

  9. Flow API:实现响应式规范
    MyPublisher11.java.java

  10. Arrays.Mismatch:差集
    ArraysMismatch12.java


  TOC