我有一个使用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)
2条答案
按热度按时间6ioyuze21#
正如其他人在评论中解释的那样,你根本不能从对象中省略字段。这不是Java的工作方式。
如果只想从
toString
中省略它,可以手动编写自己的toString
实现。是not a feature of Lombok's @ToString。cgvd09ve2#
不,这不可能。当创建一个数据类型的对象时,该数据类型中的所有属性都可以有一个值,或者它将为null。财产不会消失。