如何抑制龙目岛警告

How to suppress lombok warnings

我有一个实体

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

然后我收到了 lombok 警告。

warning: @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. If it is not supposed to be settable during building, make the field final. Set = new HashSet<>();

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

还有。我需要初始化 children 因为我想避免 NullPointerException。我也不能将此文件标记为最终文件,因为它实际上不是最终文件。我不能标记 filed @Builder.Default 因为我不仅想用构建器创建这个实体,而且我想为其他构造函数保存默认值。

Use @Builder.Defaultto add default behavior for your Builder

@Builder
class MyEntity {
   @Builder.Default
   private Set<String> children = new HashSet<>();
}

您在定义了默认值的字段上使用它,然后 Lombok
将在对象创建期间获取该值

@Builder.Default 功能已添加到 lombok v1.16.16. 因此,如果您使用的是 Lombok 的较低版本,您将无法使用它。