Record关键字使用

344 阅读1分钟

前言

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);
    }
}

输出为

image.png 其特点如下

(1)其属于final 属性,不可修改,而且不可以被继承

(2)无 set,get 方法,实例化之后,直接点出成员变量

(3)带有全部参数的构造方法

(4)自动实现toString()、hashCode()以及equals()等方法

(5)成员变量均为public

总结

在使用高版本的jdk时,可以使用record修饰类中的不可变量,例如Spring的bean等,不过具体问题具体分析