如何抑制龙目岛警告

2022-09-02 01:28:40

我有一个实体

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

我得到了一个龙目岛警告。

警告:@Builder将完全忽略初始化表达式。如果希望初始化表达式用作默认值,请添加@Builder.Default。如果在构建过程中不应设置,则使字段最终确定。Set = new HashSet<>();

问题是:我该如何压制龙目岛的警告?

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


答案 1

用于为@Builder.DefaultBuilder

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

您可以在定义了
默认值的字段上使用它,然后在对象创建

期间选取该值@Builder.默认功能已添加到中,因此,如果您使用的是较低版本的,您将无法使用它。Lomboklombok v1.16.16.Lombok


答案 2

推荐