前言
jdk14出了一个record语法糖,属于预览阶段,到了jdk16才转正,用于标记不可变的数据类
record用法
创建一个类,定义该类的成员变量
public record User(Long id, String name) {
public static void main(String[] args) {
User user = new User(1L, "aa");
System.out.println(user.id);
}
}
输出为
其特点如下
(1)其属于final 属性,不可修改,而且不可以被继承
(2)无 set,get 方法,实例化之后,直接点出成员变量
(3)带有全部参数的构造方法
(4)自动实现toString()、hashCode()以及equals()等方法
(5)成员变量均为public
总结
在使用高版本的jdk时,可以使用record修饰类中的不可变量,例如Spring的bean等,不过具体问题具体分析