是否可以让 Gson 构造函数在属性获取其值后运行?
Is it possible to have a Gson constructor that runs after the attributes get their value?
是否有可能以某种方式为 class 启用/编写一个构造函数,在 class 之后 运行 属性从 Gson.fromJson() 方法接收它们的值?这样我就可以计算一些从反序列化的属性中派生出来的属性值?例如:
ps:出于某种原因,我的构造函数总是先 运行,然后我的其他两个属性才会有它们的值。
class Person {
String firstName;
String lastName;
String fullName;
Person() {
fullName = firstName + fullName;
}
}
构造函数必须 运行 优先于其他所有内容,您的对象(即 class 的实例)在构造函数 运行 之前不存在。
您可以像这样实现 first/last 名称组合:
public void setFirstName(String firstName) {
this.firstName = firstName;
if(lastName != null) {
fullName = firstName + " " + lastName);
}
}
public void setLastName(String lastName) {
this.lastName = lastName;
if(firstName != null) {
fullName = firstName + lastName;
}
}
是否有可能以某种方式为 class 启用/编写一个构造函数,在 class 之后 运行 属性从 Gson.fromJson() 方法接收它们的值?这样我就可以计算一些从反序列化的属性中派生出来的属性值?例如:
ps:出于某种原因,我的构造函数总是先 运行,然后我的其他两个属性才会有它们的值。
class Person {
String firstName;
String lastName;
String fullName;
Person() {
fullName = firstName + fullName;
}
}
构造函数必须 运行 优先于其他所有内容,您的对象(即 class 的实例)在构造函数 运行 之前不存在。 您可以像这样实现 first/last 名称组合:
public void setFirstName(String firstName) {
this.firstName = firstName;
if(lastName != null) {
fullName = firstName + " " + lastName);
}
}
public void setLastName(String lastName) {
this.lastName = lastName;
if(firstName != null) {
fullName = firstName + lastName;
}
}