记录是自 Java 14(第一次预览版)和 Java 15(第二次预览版)以来的新语言功能。据我了解,它们将用于减少不可变数据对象中的样板代码。
所以这一行:
public record Person (String firstName, String lastName) {}
等价于声明一个具有私有 final 字段、每个字段的 getter、公共构造函数和 equals、hashCode 和 toString 方法的类。
@Value
然而,这与使用 lombok注释几乎相同:
@Value
public class Person {
String firstName;
String lastName;
}
除了你显然不需要处理lombok依赖之外,使用记录有什么好处吗?