Учитывая следующее:Java NullPointerException и ArrayList
import java.util.ArrayList;
public class IntegerList {
public ArrayList<Integer> list;
private int front;
private int[] integers = getIntegers();
public IntegerList (int maxCapacity) {
list = new ArrayList<Integer>(maxCapacity);
for (int i = 0; i < maxCapacity; i++) {
list.add(null);
}
front = 0;
}
public int getCapacity() {
if (list.get(front) == null)
return 0;
else
return 10;
}
public int[] getIntegers() {
int[] integers = new int[getCapacity()];
return integers;
}
}
Когда я создаю экземпляр класса IntegerList пропускания 20 к параметру maxCapacity в конструкторе я получаю следующее сообщение во время компиляции:
Exception in thread "main" java.lang.NullPointerException
at IntegerList.getCapacity(IntegerList.java:18)
at IntegerList.getIntegers(IntegerList.java:26)
at IntegerList.<init>(IntegerList.java:7)
at Test.main(Test.java:5)
Почему я получаю исключение? Похоже, что проблема в list.get (front) в getCapacity(), но не возвращает ли это null, возвращая true для оператора if?
@AniketThakur Не в «списке», они не будут. – chrylis
Да, путайте его для 'array'. –
Спасибо всем за ваш вклад. – Martin