Java 当我们在实体中使用final字段时?
有一段时间,我看到一些人在最后一场比赛中创造了龙目山:Java 当我们在实体中使用final字段时?,java,lombok,Java,Lombok,有一段时间,我看到一些人在最后一场比赛中创造了龙目山: @AllArgsConstructor(access = AccessLevel.PRIVATE) public class Person { private final String firstName; private final String middleName; private final String lastName; 某些时间域不标记为final。当我们在@E
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public class Person {
private final String firstName;
private final String middleName;
private final String lastName;
某些时间域不标记为final。当我们在@Entity中标记final字段时,以及当我们不标记final字段时 如果不希望在构建对象后更改字段,则将字段设置为final
它还可以在多线程环境中帮助确保安全的对象初始化和共享。在Lombok和
@allargsconstuctor
注释中,您可以使用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;
}