Я попытался адаптировать класс, который я нашел в Интернете, для динамического массива int для динамического массива «Entities», но теперь я получаю «исключение NullPointerException».Java Null Pointer Exception
код повышения исключение составляет:
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, stacktrace довольно важен. Он подробно описывает историю вызовов и указывает первую строку, в которой было вызвано это исключение. Не зная вызова и где первая строка точек трассировки в вашем коде, трудно, а не невозможно - дать надежный ответ на основе только разделенного кода, который не представляет собой SSCCE (http://sscce.org) , Таким образом, в будущем *, пожалуйста, также разместите stacktrace. Или приложите немного усилий, чтобы научиться читать/интерпретировать стек. – BalusC
Похоже, что назначение программирования начинающего. Большинство людей просто будут использовать встроенный класс из Java. –
Хех. Не знал, что для этого был встроенный Java-класс. : D Боюсь, что я сосать в googling ... –