Java 15 记录
Java 14引入了新的类类型记录(record)作为预览功能,以方便创建不可变数据对象。Java 15进一步增强了记录类型。这仍然是一个预览功能。
- 记录对象具有使用所有参数作为字段变量的隐式构造函数。
-
记录对象对于每个字段变量都有隐式的字段获取方法。
-
记录对象对于每个字段变量都有隐式的字段设置方法。
-
记录对象对hashCode()、equals()和toString()方法有隐式的合理实现。
-
在Java 15中,不能在记录中声明本地方法。
-
在Java 15中,记录的隐式字段不是final的,使用反射进行修改会抛出IllegalAccessException。
示例
考虑以下示例 –
ApiTester.java
public class APITester {
public static void main(String[] args) {
StudentRecord student = new StudentRecord (1, "Julie", "Red", "VI", 12);
System.out.println(student.id());
System.out.println(student.name());
System.out.println(student);
}
}
record StudentRecord(int id,
String name,
String section,
String className,
int age){}
编译和运行程序
$javac -Xlint:preview --enable-preview -source 15 APITester.java
$java --enable-preview APITester
输出
1
Julie
StudentRecord[id=1, name=Julie, section=Red, className=VI, age=12]