簡體   English   中英

Java空指針中的對象引用

[英]Object referencing in Java null pointer

我有一個包含雙打數組的對象。

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];

之后,我調用一個為valueRow賦值的函數:

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

我確實說過NumberRow指向的位置。 但是,eclipse在此行上給了我空指針指針異常:

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

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

執行此操作時:

numberRow = new NumberRow[dataset.numberOfVariables];

陣列的所有成員的numberRow被初始化為默認值NumberRow NumberRow是一個類,因此其默認值為null。 要為空值設置值,必須首先將其初始化為new真實對象,否則將獲得NullPointerException。

當初學者開始使用對象數組時,這是一個常見錯誤。 創建對象引用數組時,將初始化該數組,但是數組中的各個元素為null 因此,在語句numberRow[k].NumberArray[i] = misc; numberRow[k]null ,這導致異常。 因此,在此行之前,您需要將語句

numberRow[k] = new NumberRow();

在上述聲明之前。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM