使用 Lombok 的非空列表项
NonNull List Items with Lombok
我目前正在构建一个 Java 应用程序并使用 Lombok 注释来减少样板文件。但是,当同时使用 @Singular
和 @NonNull
注释时,我 运行 遇到了问题。例如,让我们看下面的例子 class:
@Builder
class Classroom {
@Singular @NonNull
private List<String> students;
}
我希望@NonNull 注释能够防止单独添加 null
个元素 ,如下所示:
Classroom.builder()
.student("Sally")
.student("Joe")
.student(null)
.build();
然而,即使有注释,null
元素仍然会在构建 Classroom
对象时添加到列表中。有没有一种简单的方法,使用 Lombok 注释,将单个元素标记为 NonNull,或者我是否需要删除注释并自己实现这种类型的保护?
You can use @NonNull on the parameter of a method or constructor to have lombok generate a null-check statement for you.
所以你必须将 @NonNull
注释放在 student
方法的参数上(在构建器 class 中)而不是私有字段 students
(在课堂上 class).
public student(@NonNull String name){
students.add(name);
}
我目前正在构建一个 Java 应用程序并使用 Lombok 注释来减少样板文件。但是,当同时使用 @Singular
和 @NonNull
注释时,我 运行 遇到了问题。例如,让我们看下面的例子 class:
@Builder
class Classroom {
@Singular @NonNull
private List<String> students;
}
我希望@NonNull 注释能够防止单独添加 null
个元素 ,如下所示:
Classroom.builder()
.student("Sally")
.student("Joe")
.student(null)
.build();
然而,即使有注释,null
元素仍然会在构建 Classroom
对象时添加到列表中。有没有一种简单的方法,使用 Lombok 注释,将单个元素标记为 NonNull,或者我是否需要删除注释并自己实现这种类型的保护?
You can use @NonNull on the parameter of a method or constructor to have lombok generate a null-check statement for you.
所以你必须将 @NonNull
注释放在 student
方法的参数上(在构建器 class 中)而不是私有字段 students
(在课堂上 class).
public student(@NonNull String name){
students.add(name);
}