Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有Lombok的非空列表项_Java_Lombok - Fatal编程技术网

Java 具有Lombok的非空列表项

Java 具有Lombok的非空列表项,java,lombok,Java,Lombok,我目前正在构建一个Java应用程序,并使用Lombok注释来简化样板文件。但是,当同时使用@Singular和@NonNull注释时,我遇到了问题。例如,让我们看看下面的示例类: @Builder class Classroom { @Singular @NonNull private List<String> students; } 但是,即使使用注释,在构建教室对象时,null元素仍然添加到列表中。是否有一种简单的方法,使用Lombok注释,将单个元素标记为非

我目前正在构建一个Java应用程序,并使用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);
}