我有一个实体
@Builder
class MyEntity {
private Set<OtherEntitiy> children = new HashSet<>()
}
我得到一个lombok警告。
警告:@Builder将完全忽略初始化表达式。如果要将初始化表达式用作默认值,请添加@Builder.Default。如果在建筑期间不应该设置,请将该字段设为最终。 Set = new HashSet <>();
问题是:我如何压制lombok的警告?
也。我需要初始化子项,因为我想避免NullPointerException。此外,我不能将此标记为最终,因为它不是最终的。我不能标记提交@Builder.Default
因为我想创建这个实体不仅与构建器,我想保存其他构造函数的默认值。
使用
@Builder.Default
to为Builder
添加默认行为
@Builder
class MyEntity {
@Builder.Default
private Set<String> children = new HashSet<>();
}
您可以在具有定义Lombok
的默认值的字段上使用它
然后将在对象创建期间获取值
在@Builder.Default
中添加了lombok v1.16.16.
功能因此,如果您使用较低版本的Lombok
,您将无法使用它。