在另一个字段的 setter 中调用一个字段的 setter
Call a setter of a field inside a setter of another field
我想在初始化另一个字段后立即初始化一个字段,如下面的代码所示:
@Setter
class Person {
private String fullName;
private String shortName;
public void setFullName(String fullName) {
this.fullName = fullName;
setShortName();
}
private void setShortName() {
this.shortName = this.fullName.substring(0, 1);
}
}
废弃 shortName
字段并使用 getter 的方法,returns 所需的值是不可接受的。我需要这个字段,因为我将我的对象作为 JSON 对象传输到前端(我想在那里打印 shortName
)。
我的 class 也使用来自 Lombok 框架的 @Setter
注释。因此,我的 class 的用户将能够通过一个参数使用所需的 setter。同时 setShortName()
方法是私有的(正如@shmosel 建议的那样)。
问题悬而未决:在 setFullName(String fullName)
中调用 shortName
的 setter 是个好主意吗?
最好的方法是什么?
class Person {
private String fullName;
private String shortName;
public Person(String fullName){
this.fullName = fullName;
this.shortName = fullName.substring(0, 1);
}
}
我想在初始化另一个字段后立即初始化一个字段,如下面的代码所示:
@Setter
class Person {
private String fullName;
private String shortName;
public void setFullName(String fullName) {
this.fullName = fullName;
setShortName();
}
private void setShortName() {
this.shortName = this.fullName.substring(0, 1);
}
}
废弃 shortName
字段并使用 getter 的方法,returns 所需的值是不可接受的。我需要这个字段,因为我将我的对象作为 JSON 对象传输到前端(我想在那里打印 shortName
)。
我的 class 也使用来自 Lombok 框架的 @Setter
注释。因此,我的 class 的用户将能够通过一个参数使用所需的 setter。同时 setShortName()
方法是私有的(正如@shmosel 建议的那样)。
问题悬而未决:在 setFullName(String fullName)
中调用 shortName
的 setter 是个好主意吗?
最好的方法是什么?
class Person {
private String fullName;
private String shortName;
public Person(String fullName){
this.fullName = fullName;
this.shortName = fullName.substring(0, 1);
}
}