Java 版本变更列表 (Java SE 8 ~ Java SE 18 )

参考资料:

Java SE 8

Java 8 于 2014 年 3 月 18 日发布

    无符号整数算术

Java SE 9

Java SE 9 于 2017 年 9 月 21 日发布

    JSR 376 :在Jigsaw项目中将JDK模块化 JavaDB被移出JDK

Java SE 10

OpenJDK 10 于2018年3月20日发布

var list = new ArrayList<String>(); // infers ArrayList<String>
var stream = list.stream();

Java SE 11

JDK 11 于 2018 年 9 月 25 日发布,它提供 LTS 长期支持

Java SE 12

JDK 12 于2019年3月19日发布

int ndays = switch(month) {
          
   
    case JAN, MAR, MAY, JUL, AUG, OCT, DEC -> 31;
    case APR, JUN, SEP, NOV -> 30;
    case FEB -> {
          
   
        if (year % 400 == 0) yield 29;
        else if (year % 100 == 0) yield 28;
        else if (year % 4 == 0) yield 29;
        else yield 28; }
};

Java SE 13

JDK 13 于2019年9月17日发布

String html = """
              <html lang="en">
                  <body>
                      <p>Hello, world</p>
                  </body>
              </html>
              """;

Java SE 14

JDK 14 于 2020 年 3 月 17 日发布

if (obj instanceof String) {
          
   
    String s = (String) obj;
    System.out.println( s.length() );
}

if (obj instanceof String s) {
          
   
    System.out.println( s.length() );
}
record Point(int x, int y) {
          
    }
Point p = new Point(3,4);
System.out.println( p.x() );

Java SE 15

JDK 15 于 2020 年 9 月 15 日发布

package com.example.geometry;

public abstract sealed class Shape
    permits Circle, Rectangle, Square {
          
   ...}

Java SE 16

DK 16 于 2021 年 3 月 16 日发布

Java SE 17

DK 17 是自 2021 年 9 月以来的当前长期支持(LTS) 版本

Java SE 18

JDK 18 于 2022 年 3 月 22 日发布。

经验分享 程序员 微信小程序 职场和发展