我在使用 java.util.LinkedList 时遇到问题。即使在将元素添加到列表后,我在列表上使用 poll() 时也会出现空指针异常。我没有使用线程或任何类似于线程的东西。
任何帮助表示赞赏。下面是从另一个类的 main 方法调用的 myMethod 代码:
void myMethod(Node start, int startRow){
LinkedList<Node> queue = new LinkedList<Node>();
LinkedList<Integer> rowQueue = new LinkedList<Integer>();
queue.addFirst(start);
rowQueue.addFirst((Integer)startRow);
System.out.println( rowQueue.size() );
while (queue.size()!=0){
Node n = queue.poll();
int row = rowQueue.poll().intValue(); //This is the line 33 in the error!
/*Some remaining code which uses variables n and row. The thread of control does not reach here */
}
}
下面是输出:
Exception in thread "main" java.lang.NullPointerException
at BFS.isConnected(LinkedListTest.java:33)
at GraphsMain.main(GraphsMain.java:36)
1
ZERO
我很困惑,因为打印语句在错误之后执行,而且显然我已经以相反的方式编写了它们。这是一个线程问题吗?我知道 LinkedLists 不同步,但这就是问题所在吗?我应该担心它只是为了一个简单的实现吗?