Spring Boot 使用lombok超级构建器时忽略空值

mwecs4sa  于 9个月前  发布在  Spring
关注(0)|答案(2)|浏览(124)

我有一个使用Lombok SuperBuilder为我的类创建构造函数的情况,我可以使用builder创建一个对象而不创建空值吗?

@Data
@SuperBuilder
public class Student {
    private String name;
    private String email;
    private String DOB;
}

StudentReq.builder()
   .name(name)
   .DOB(DOB)
   .build()

结果应该是StudentReq(name=John,DOB=19051995),但我得到了StudentReq(name=John,email=null,DOB=19051995)

6ioyuze2

6ioyuze21#

正如其他人在评论中解释的那样,你根本不能从对象中省略字段。这不是Java的工作方式。
如果只想从toString中省略它,可以手动编写自己的toString实现。是not a feature of Lombok's @ToString

cgvd09ve

cgvd09ve2#

不,这不可能。当创建一个数据类型的对象时,该数据类型中的所有属性都可以有一个值,或者它将为null。财产不会消失。

相关问题