我有一个包含双打数组的对象。

public class NumberRow {

static final int MAX_AMOUNT_OF_NUMBERS = 2500;
double[] NumberArray = new double[MAX_AMOUNT_OF_NUMBERS];

NumberRow(double[] NumberArray){
    this.NumberArray = NumberArray;
}

}


在我的主程序中,我首先像这样在构造函数中创建对象NumberRow的数组

NumberRow[] numberRow;


稍后在程序中,我将以下代码放入:

numberRow = new NumberRow[dataset.numberOfVariables];


之后,我调用一个为numberRow赋值的函数:

double misc = in.nextDouble();
numberRow[k].NumberArray[i] = misc;


我确实说过NumberRow指向的位置。但是,eclipse在这一行给了我空指针指针异常:

numberRow[k].NumberArray[i] = misc;


我希望任何人都能看到我做错了什么?
谢谢 :)!

最佳答案

当初学者开始使用对象数组时,这是一个常见错误。创建对象引用数组时,将初始化该数组,但数组中的各个元素为null。因此,在语句numberRow[k].NumberArray[i] = misc;上,numberRow[k]null,这导致了异常。因此,在该行之前,您需要将语句

numberRow[k] = new NumberRow();


在上述声明之前。

10-06 01:22