已声明自定义 setter 但 lombok 似乎什么也没发生
declared custom setter but seems nothing happened with lombok
我声明了带有注释 @Data
的 class 并声明了自定义 setter。
然而,它并没有发生调用 setter 方法。
这里是构建数据。
// Build data from json string.
Type typeOfResultSet = new TypeToken<JsonResult<AntTalkList>>(){}.getType();
Gson g = new Gson();
JsonResult<AntTalkList> res = g.fromJson(jsonString, typeOfResultSet);
这是 lombok @Data
添加了注释 class。
@Data
public class TalkInfo {
private long articleId;
private long userId;
private String userName; // this needs custom setter
private String userType;
private int last_c_seq ;
private String title;
private String question;
private String dateInfo;
private int replyCount;
private String thumbUrl;
public void setUserName(String userName){ // I want to call this.
try{
//This doesn't printed out
System.out.println("userName");
this.userName = URLDecoder.decode(userName, "UTF-8");
} catch(Exception e){
e.printStackTrace();
this.userName = userName;
}
}
我不知道如何解决这个问题。
也许有使用 Gson
的关系吗?
根据this question,GSON不使用setter,而是直接设置字段。
我声明了带有注释 @Data
的 class 并声明了自定义 setter。
然而,它并没有发生调用 setter 方法。
这里是构建数据。
// Build data from json string.
Type typeOfResultSet = new TypeToken<JsonResult<AntTalkList>>(){}.getType();
Gson g = new Gson();
JsonResult<AntTalkList> res = g.fromJson(jsonString, typeOfResultSet);
这是 lombok @Data
添加了注释 class。
@Data
public class TalkInfo {
private long articleId;
private long userId;
private String userName; // this needs custom setter
private String userType;
private int last_c_seq ;
private String title;
private String question;
private String dateInfo;
private int replyCount;
private String thumbUrl;
public void setUserName(String userName){ // I want to call this.
try{
//This doesn't printed out
System.out.println("userName");
this.userName = URLDecoder.decode(userName, "UTF-8");
} catch(Exception e){
e.printStackTrace();
this.userName = userName;
}
}
我不知道如何解决这个问题。
也许有使用 Gson
的关系吗?
根据this question,GSON不使用setter,而是直接设置字段。