我試圖調整我在網絡上找到的一個類,用於動態數組「Entities」的動態數組,但現在我得到一個「NullPointerException」。Java空指針異常
提高異常的代碼是:
public void initialize()
{
buffer = new BufferedImage(800,600,BufferedImage.TYPE_INT_RGB);
Entities.put(Entities.getCurrentPos()+1, new Entity(100, 100, Color.green));
Entities.put(Entities.getCurrentPos()+1, new Entity(400, 400, Color.blue));
}
DynArrayEntities類的相關部分:
...
private Entity[] data; // An array to hold the data.
private int currentpos = 0;
...
public void put(int position, Entity value) {
if (position >= data.length) {
int newSize = 2 * data.length;
if (position >= newSize)
newSize = 2 * position;
Entity[] newData = new Entity[newSize];
System.arraycopy(data, 0, newData, 0, data.length);
data = newData;
}
data[position] = value;
currentpos++;
}
....
public int getCurrentPos() {
return currentpos;
}
預先感謝您的幫助!
如果Java中出現異常,堆棧跟蹤非常重要。它會詳細告訴您調用歷史記錄,並指出造成此異常的第一行。在不知道調用情況以及代碼中第一行跟蹤點的位置的情況下,很難 - 如果不是不可能的 - 僅基於僅代表SSCCE的剝離代碼提供可靠的答案(http://sscce.org) 。所以,在將來,*請*發佈堆棧跟蹤。或者花些功夫學習如何讀取/解釋堆棧跟蹤。 – BalusC 2010-02-15 23:54:45
看起來像一個初學者的編程作業。大多數人只會使用Java的內置類。 – 2010-02-16 00:17:43
Heh。不知道有這個內置的Java類。 :D 恐怕我會在Google上搜索...... – 2010-02-16 00:59:27