我在Java中的值始终为null,但我不明白为什么,因为我使用类构造函数设置了变量的值。
我有这样的代码:
Driver driverClass = new Driver("<file path redacted>");
然后是以下内容:
String cfgFilePath;
public Driver(String cfgFile) {
this.cfgFilePath = cfgFile;
}
private ArrayList<String> keys = getKeys(cfgFilePath);
private String a1 = keys.get(0);
private String b1 = keys.get(1);
由于某种原因,IntelliJ IDEA表示cfgFilePath始终为null。我正在使用Driver类构造函数对其进行初始化,所以为什么它为null?当我运行程序时,我得到一个空指针异常。
答案 0 :(得分:1)
将keys
,a1
和b1
的初始化移动到您的构造函数中,例如:
public Driver(String cfgFile) {
this.cfgFilePath = cfgFile;
this.keys = getKeys(cfgFilePath);
this.a1 = keys.get(0);
this.b1 = keys.get(1);
}
private ArrayList<String> keys = new ArrayList<>();
private String a1;
private String b1;