Я использую аннотации Lombok @Data
и @Builder
следующим образом:
@Data
@Builder(toBuilder = true)
class Movie {
// Some other fields here.
private final List<Actor> actors;
}
Когда я создаю новый Movie
с помощью компоновщика, не указывая никаких актеров, я ожидаю, что Lombok инициализирует мой список Collections.emptyList()
. Но этого не происходит:
List<Actor> actors = Movie.builder().build().getActors();
System.out.println(actors); // Prints 'null'.
В документации для аннотации @Builder
это указано в строке 55 и 56 в примере кода для Vanilla Java (https://projectlombok.org/features/Builder.html), что мне следует посмотреть пример кода для @Singular
(https://projectlombok.org/features/Singular-snippet.html). В строке 112 в примере Vanilla Java здесь кажется, что список должен быть инициализирован пустым списком.
Я проверил, и это действительно происходит, если я аннотирую список @Singular
:
@Data
@Builder(toBuilder = true)
class Movie {
// Some other fields here.
@Singular
private final List<Actor> actors;
}
List<Actor> actors = Movie.builder().build().getActors();
System.out.println(actors); // Prints '[]'.
Это ошибка Ломбока или я что-то не так делаю? Согласно документации, кажется, что список должен быть инициализирован пустым списком в обоих случаях (поскольку документ @Builder
ссылается на документ @Singular
).