Java 10
- 局部变量类型推断:Java 10引入了
var
关键字,这让我们可以在声明局部变量时不必显式指定类型。编译器会根据右边的表达式自动推断变量的类型。比如说,你可以写var name = "Alice";
,编译器会知道name
是一个字符串。
Java 11
-
新字符串方法:Java 11为字符串引入了一些新的方法,比如
isBlank()
、lines()
、repeat(int)
和strip()
,这些方法可以让我们更方便地处理字符串。 -
局部变量的Lambda表达式:Java 11允许在Lambda表达式中使用
var
关键字,像这样:(var x, var y) -> x + y
。 -
HTTP Client:Java 11引入了一个新的HTTP客户端API,用于发送HTTP请求和接收响应,比以前的方式更简单和强大。
Java 12
- Switch表达式(预览特性):Java 12引入了一种新的
switch
语法,使得switch
可以返回值,并且可以用更简洁的方式写多分支逻辑。
Java 13
- 文本块(预览特性):文本块允许我们用三个双引号
"""
来定义多行字符串,这样可以更方便地写长文本,比如HTML或JSON。
Java 14
-
Switch表达式(正式特性):在Java 14中,
switch
表达式正式成为语言特性。 -
记录类(预览特性):记录类是一种新的类类型,用于简化数据类的定义。它们自动生成构造函数、
equals()
、hashCode()
和tostring()
方法。
Java 15
-
文本块(正式特性):文本块在Java 15中成为正式特性。
-
隐藏类:允许在运行时生成和使用类,这些类不会被应用程序直接使用,通常用于框架和代理生成。
Java 16
-
记录类(正式特性):记录类在Java 16中成为正式特性。
-
封闭类和接口(预览特性):封闭类和接口允许你限制哪些类可以继承或实现它们。
Java 17
-
封闭类和接口(正式特性):封闭类和接口在Java 17中成为正式特性。
-
模式匹配(预览特性):模式匹配用于
instanceof
操作符,使得类型检查和类型转换更加简洁。