我使用的龍目島的@Data
和@Builder
註釋是這樣的:龍目島@Builder未初始化的集合
@Data
@Builder(toBuilder = true)
class Movie {
// Some other fields here.
private final List<Actor> actors;
}
當我使用構建器,不指定任何角色創建一個新的Movie
,我希望龍目島初始化我的列表到Collections.emptyList()
。但是,這種情況不會發生:
List<Actor> actors = Movie.builder().build().getActors();
System.out.println(actors); // Prints 'null'.
在爲@Builder
註釋的文檔,它在代碼示例香草的Java(https://projectlombok.org/features/Builder.html)線55和56,我應該看看代碼示例@Singular
陳述(https://projectlombok.org/features/Singular-snippet.html)。在這裏的Vanilla Java示例的第112行,似乎列表應該被初始化爲空列表。
我檢查,如果我註釋列表與@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
文檔)。
我正在使用龍目島版本1.16.6的方式。 – marstran