我试图调整我在网络上找到的一个类,用于动态数组“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