2016-07-20 4 views
0

Я объявил класс с аннотацией @Data и объявил пользовательский сеттер.объявлен пользовательский сеттер, но, похоже, ничего не случилось с lombok

Однако, это не вызвано методом setter.

Информация о сборке.

// Build data from json string. 
    Type typeOfResultSet = new TypeToken<JsonResult<AntTalkList>>(){}.getType(); 
     Gson g = new Gson(); 

    JsonResult<AntTalkList> res = g.fromJson(jsonString, typeOfResultSet); 

И это Ломбок @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?

ответ

2

Согласно this question, GSON не использует сеттеры, но устанавливает поля непосредственно.

+0

О, я этого не знал. Спасибо, Роэл. –