Хорошо, я получаю NPE, который я не могу понять, и это заставляет меня быть абсолютно батти. У меня есть связанный список объектов резервирования и 2d массив булевых, чтобы следить за имеющиеся места:Получение NPE на обработанном массиве логических значений
class ResList
{
private Reservation head;
private boolean [][] seats;
ResList()
{
head = null; //empty list
boolean[][] seats = new boolean[5][25];
}
Я также получил метод isAvailable(), чтобы определить, доступно ли место:
boolean isAvailable(int f, int s)
{
if(f<0 || f>4 || s < 0 || s > 24)
return false;
else
return !seats[f][s]; // this line throws the NPE
}
Но когда я делаю это:
jcbSeat = new JComboBox();
for(int i = start; i <= stop; i++)
{
if(list.isAvailable(selectedFlight, i))
jcbSeat.addItem(i+1);
}
я получаю NPE, где отмечено. Я добавил несколько строк отладки в конструктор ResList и могу получить доступ к местам [] [] там просто отлично, но когда я выполняю метод, ка-бум: NPE. Что здесь происходит?
Спасибо всем. Я просто идиот. Это раздражительно. – MikeTheLiar
Мы называем это мозговой пердит. У каждого есть их, и обычно требуется, чтобы кто-то еще указал их, чтобы обеспечить соответствующее смущение 8-) – Robin
Для тех, кто хочет избежать этого и иметь Eclipse (теневые конфликты). Windows-> Настройки-> Java-> Компилятор-> Ошибки/Предупреждения-> Именование теневиков и конфликты –