У меня есть объект
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserInfo {
private int id;
private String nick;
private boolean isEmailConfirmed = true;
}
И я инициализирую его двумя способами
UserInfo ui = new UserInfo();
UserInfo ui2 = UserInfo.builder().build();
System.out.println("ui: " + ui.isEmailConfirmed());
System.out.println("ui2: " + ui2.isEmailConfirmed());
Вот вывод
ui: true
ui2: false
Кажется, что строитель не получает значение по умолчанию. Я добавляю аннотацию @Builder.Default
к моему свойству, и теперь мой объект выглядит так
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserInfo {
private int id;
private String nick;
@Builder.Default
private boolean isEmailConfirmed = true;
}
Вот консольный вывод
ui: false
ui2: true
Как я могу заставить их обоих быть true
?