У меня есть Сущность
@Builder
class MyEntity {
private Set<OtherEntitiy> children = new HashSet<>()
}
И я получаю предупреждение ломбока.
предупреждение: @Builder полностью игнорирует инициализирующее выражение. Если вы хотите, чтобы выражение инициализации использовалось по умолчанию, добавьте @Builder.Default. Если его не предполагается устанавливать при построении, сделайте поле final. Установить = новый HashSet‹>();
Вопрос в том, как я могу подавить предупреждение ломбока?
Также. Мне нужно инициализировать детей, потому что я хочу избежать исключения NullPointerException. Также я не могу пометить этот файл как окончательный, потому что на самом деле он не окончательный. Я не могу пометить поле @Builder.Default
, потому что я хочу создать этот объект не только с помощью конструктора, и я хочу сохранить значение по умолчанию для других конструкторов.
@Builder
вместо класса. - person Radiodef   schedule 05.09.2017@AllArgsConstructor(access=AccessLevel.PRIVATE)
и убрать инициализацию. Builder выполнит инициализацию, и вы не будете называть себя приватным ctor. +++ 2. Возможно, вы могли бы использовать@Singular
. +++ 3. Поле, вероятно, должно быть окончательным, так как вы можете сделать все, изменив коллекцию, а не заменив ее. - person maaartinus   schedule 05.09.2017