Java 具有Lombok的非空列表项
我目前正在构建一个Java应用程序,并使用Lombok注释来简化样板文件。但是,当同时使用Java 具有Lombok的非空列表项,java,lombok,Java,Lombok,我目前正在构建一个Java应用程序,并使用Lombok注释来简化样板文件。但是,当同时使用@Singular和@NonNull注释时,我遇到了问题。例如,让我们看看下面的示例类: @Builder class Classroom { @Singular @NonNull private List<String> students; } 但是,即使使用注释,在构建教室对象时,null元素仍然添加到列表中。是否有一种简单的方法,使用Lombok注释,将单个元素标记为非
@Singular
和@NonNull
注释时,我遇到了问题。例如,让我们看看下面的示例类:
@Builder
class Classroom {
@Singular @NonNull
private List<String> students;
}
但是,即使使用注释,在构建教室
对象时,null
元素仍然添加到列表中。是否有一种简单的方法,使用Lombok注释,将单个元素标记为非空,或者我需要删除注释并自己实现这种类型的保护?根据:
您可以对方法或构造函数的参数使用@NonNull,让lombok为您生成null检查语句
因此,您必须将@NonNull
注释放在student
方法的参数上(在builder类中),而不是放在私有字段students
(在教室类中)
我假设
@NonNull
注释意味着学生
列表本身不能为null。并不是说单个元素不能为null。我知道注释意味着列表不能为null
;我希望它也能扩展到单数元素本身。我同意,如果能够为元素指定@NonNull
,而不是集合
/映射
/etc本身,那将是一件好事。
Classroom.builder()
.student("Sally")
.student("Joe")
.student(null)
.build();
public student(@NonNull String name){
students.add(name);
}