当生成器将属性显式设置为null时,Lombok设置默认值

当生成器将属性显式设置为null时,Lombok设置默认值,lombok,Lombok,我正在使用Lombok 1.16.16版的新的生成器.Default功能。 我想配置一个类,以便在属性未通过构建器显式设置或属性被构建器设置为null时,属性采用默认值 案例1:未设置属性 MyClass.Builder().build() 案例2:属性设置为null MyClass.Builder().myAttribute(null.build() 在这两种情况下,我都希望设置默认值。背景是该类将基于数据库查询的结果构建 下面是带注释的类 @Builder @非最终 公共类MyClass{

我正在使用Lombok 1.16.16版的新的生成器.Default功能。 我想配置一个类,以便在属性未通过构建器显式设置或属性被构建器设置为null时,属性采用默认值

案例1:未设置属性

MyClass.Builder().build()

案例2:属性设置为null

MyClass.Builder().myAttribute(null.build()

在这两种情况下,我都希望设置默认值。背景是该类将基于数据库查询的结果构建

下面是带注释的类

@Builder
@非最终
公共类MyClass{
@Builder.Default
私有字符串myAttribute=“-”;

}
不,
lombok
在这方面帮不了你。将
值设置为
null
,则该
属性将为
null

最好查看生成的
,以便了解
lombok
的工作原理

我想到了一个解决办法。
lombok
使用
all args构造函数
BuilderClass
创建类

因此,我认为如果您自己装箱
构造函数
,并通过检查该值是否为null来添加逻辑,那么使用默认值