我有一个带有变量的类,我不希望它为 null 或空。有没有办法使用 Lombok builder 来设置属性?我可以使用 @NonNull
但我无法验证它是否为空。显然,另一种选择是编写我自己的构建器来完成所有这些检查。例如:
class Person {
@NonNull
private String firstName;
@NonNull
private String lastName;
public static class PersonBuilder() {
// .
// .
// .
public Person build() {
//do checks for empty etc and return object
}
}
}
原文由 user1692342 发布,翻译遵循 CC BY-SA 4.0 许可协议
马克西姆基里洛夫的回答是不完整的。它不检查空白/空字符串。
我以前遇到过同样的问题,我意识到除了使用来自 Lombok 的 @NonNull 和 @Builder 之外,还可以使用私有访问修饰符重载构造函数,您可以在其中执行验证。是这样的:
此外,当 String 具有空白、空值或 null 值时,抛出 IllegalArgumentException 更有意义(而不是 NPE)。