我正在使用堆栈实现优先级队列,但是发生了 NullPointerException
,我不明白为什么。我正在尝试使用 MyStack
类中的 Push 方法添加整数“1”。错误发生在add语句处。
class MyStack<E> {
private PriorityQueue<MyNode<E>> pq;
int p =0;
public void push(int j){
p++;
pq.add(new MyNode(j,p)); // error detected here
}
public MyNode pop(){
if(isEmpty()){
return null;
}
return pq.poll();
}
public boolean isEmpty() {
return pq.isEmpty();
}
}
已编辑:以正确的方式反射(reflect)遇到的问题:)
最佳答案
如果代码完整,那就很简单:类 MyStack 的成员 pq 永远不会初始化。
关于java - 为什么会出现空指针异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22404280/