public class ObjQueue<E> extends Vector<E>
{...}
ObjQueue<Customer>[] line=new ObjQueue[numServices];
...
if(line[waitingLine].isEmpty()) --emptyLines;
NullPointerException
代表if(line[waitingLine].isEmpty()) --emptyLines;
怎么了? 最佳答案
这个:
new objQueue[numServices];
创建一个其所有元素都设置为
null
的数组-而不是空队列的数组。所以这:line[waitingLine].isEmpty()
除非您已经以某种方式显式初始化了
isEmpty()
的元素,否则它将在null
上调用line
。您可能想遵循以下步骤:
objQueue<Customer> [] line=new objQueue[numServices];
有了这个:
for(int i = 0; i < numServices; ++i)
line[i] = new objQueue<Customer>();
将每个元素初始化为一个新的不同队列。
关于java - NullPointerException for if(line [waitingLine] .isEmpty())--emptyLines;,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9723228/