Java值始终为null?

时间:2018-08-26 22:05:38

标签: java class oop nullpointerexception null

我在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?当我运行程序时,我得到一个空指针异常。

1 个答案:

答案 0 :(得分:1)

keysa1b1的初始化移动到您的构造函数中,例如:

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;