已声明自定义 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,而是直接设置字段。