在我的代码中,我收到上述警告。这是我得到它的代码部分,
@Data
@Builder
public class Employee {
private String email;
@Data
@Builder
public static class Department{
@Singular(value = "department")
private final Set<String> set;
}
}
按照空保护的建议,在此访问中变量集可能为空。
需要解决“set”未添加空值的问题,这不会给出代码扫描警报“取消引用的变量可能为空”
您使用了final。
private final Set<String> set;
final 用于>>value<< or >>ref 到对象<< cannot be changed.
要解决您的问题 init in >>所有构造函数<< or >>spot<< or delete final.
选项1
import java.util.*; //there are 8 different Sets to chose from
private final Set<String> set = new HashSet<>();
选项2
import java.util.*;
public Department(){ set = new HashSet<>(); }
选项3...你还需要调用init(set = new HashSet<>())
import java.util.*;
private Set<String> set;
此链接可能会帮助您找到有关 final 的更多信息:https://en.wikipedia.org/wiki/Final_(Java)