<分区>
好吧,我遇到了一个我无法弄清楚的 NPE,这让我非常抓狂。我有一个预订对象的链接列表和一个二维 boolean 数组来跟踪可用座位:
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 构造函数中添加了一些调试行,并且可以在那里访问 seats[][] 就好了,但是当我执行该方法时,ka-boom: NPE。这是怎么回事?