关于类:Java值始终为null?

Java value is always null?

本问题已经有最佳答案,请猛点这里访问。

我在Java中的值始终是NULL,但我不明白为什么,因为我使用类构造函数来设置变量的值。

我有这样的代码:

1
Driver driverClass = new Driver("<file path redacted>");

然后是以下内容:

1
2
3
4
5
6
7
8
9
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理念认为cfgfilepath总是空的。我正在用驱动程序类构造函数初始化它,那么为什么它是空的呢?当我运行程序时,我得到一个空指针异常。


keysa1b1的初始化移动到构造函数,如下所示:

1
2
3
4
5
6
7
8
9
10
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;