我在 Java 中有一个值总是空的,但我不明白为什么,因为我正在使用类构造函数设置变量的值。
我有这样的代码:
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总是空的。我正在使用 Driver 类构造函数初始化它,那么为什么它是空的?当我运行程序时,我得到一个空指针异常。
将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;