声明自定义setter但似乎没有发生lombok

时间:2016-07-20 05:41:11

标签: java gson lombok

我声明了一个带注释@Data的类并声明了自定义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 anotition添加的课程。

@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有任何关系吗?

1 个答案:

答案 0 :(得分:2)

根据this question,GSON不使用setter,但直接设置字段。