J'ai un objet
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserInfo {
private int id;
private String nick;
private boolean isEmailConfirmed = true;
}
Et je l'initialise de deux façons
UserInfo ui = new UserInfo();
UserInfo ui2 = UserInfo.builder().build();
System.out.println("ui: " + ui.isEmailConfirmed());
System.out.println("ui2: " + ui2.isEmailConfirmed());
Voici le résultat
ui: true
ui2: false
Il semble que le constructeur n'obtienne pas de valeur par défaut. J'ajoute @Builder.Default
à ma propriété et mon objet ressemble maintenant à ceci
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserInfo {
private int id;
private String nick;
@Builder.Default
private boolean isEmailConfirmed = true;
}
Voici la sortie de la console
ui: false
ui2: true
Comment puis-je faire en sorte que les deux soient true
?
1 votes
Il semble qu'il s'agisse d'un problème connu (cf. github.com/rzwitserloot/lombok/issues/1347 ).