有时候,我看起来有些人进入了决赛,并创造了龙目岛的样子:
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public class Person {
private final String firstName;
private final String middleName;
private final String lastName;
某些时间字段未标记为最终值。当我们在@Entity中标记最终字段时,什么时候不?
答案 0 :(得分:0)
一旦您不希望在构造对象之后更改字段,就创建一个字段 final 。
它还可以在多线程环境中帮助确保安全的对象初始化和共享。
答案 1 :(得分:0)
在Lombok和@AllArgsConstructor
批注中,可以使用final
关键字来确保对象在构造函数中初始化后不会更改。此注释将获取所有字段以构建您的构造函数。
还有@RequiredArgsConstructor
批注,该批注使用标有final
的字段来构建构造函数:
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public class Person {
private final String firstName;
private final String middleName;
private String lastName;
}
在delombok之后,您的构造函数将如下所示:
@java.beans.ConstructorProperties({"firstName", "middleName"})
private Person(String firstName, String middleName) {
this.firstName = firstName;
this.middleName = middleName;
}