如何抑制lombok警告

时间:2017-09-05 14:23:56

标签: java lombok java-annotations

我有一个实体

@Builder
class MyEntity {
   private Set<OtherEntitiy> children = new HashSet<>()
}

我得到一个lombok警告。

  

警告:@Builder将完全忽略初始化表达式。如果要将初始化表达式用作默认值,请添加@Builder.Default。如果在建筑期间不应该设置,请将该字段设为最终。       Set = new HashSet&lt;&gt;();

问题是:我如何压制lombok的警告?

另外。我需要初始化子项,因为我想避免NullPointerException。此外,我无法将此项目标记为最终,因为它不是最终的。我不能标记归档@Builder.Default因为我想创建这个实体不仅与构建器,我想保存其他构造函数的默认值。

1 个答案:

答案 0 :(得分:3)

  

使用@Builder.DefaultBuilder

添加默认行为
@Builder
class MyEntity {
   @Builder.Default
   private Set<String> children = new HashSet<>();
}

您在具有默认值Lombok的字段上使用它,然后在对象创建期间拾取值

lombok v1.16.16.中添加了@Builder.Default个功能 因此,如果您使用较低版本的Lombok,则无法使用它。