我正在使用堆栈实现优先级队列,但是发生了NullPointerException
,我不知道为什么。我试图通过使用MyStack
类中的push方法来添加整数“ 1”。错误发生在添加语句。
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();
}
}
编辑:以适当的方式反映遇到的问题:)
最佳答案
如果代码完整,则很简单:永远不会初始化类MyStack的成员pq。
关于java - 为什么会出现nullpointerexception?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22404280/