2016-07-20 21 views
0

Ich habe eine Klasse mit der Anmerkung @Data deklariert und benutzerdefinierten Setter erklärt.deklariert benutzerdefinierten Setter aber scheint nichts mit Lombok passiert

Allerdings ist es nicht namens Setter-Methode passiert.

Hier ist für Build-Daten.

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

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

Und das ist lombok @Data anotition hinzugefügt Klasse.

@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; 
     } 
    } 

Ich weiß nicht, wie Sie dieses Problem lösen. Vielleicht gibt es irgendwelche Beziehungen mit Gson?

Antwort

2

Gemäß this question verwendet GSON keine Setter, sondern legt die Felder direkt fest.

+0

Oh, das wusste ich nicht. Danke Roel. –