【发布时间】:2015-03-30 12:49:33
【问题描述】:
我有一个 List 类,其中有这个插入函数。该列表正在对列表中的数字进行递减排序。当我插入以下语句Ape ={ 1, 2, 3, 4, 2, 3, 4, 5, 3, 4, 6 } 时,我得到一个空指针异常。
public List<E> insert (E d){
Node<E> newNode= new Node<E>(d);
if(isEmpty()){
current=first=last=newNode;
numberOfNodes++;
return this;
}
if(newNode.data.compareTo(first.data)>0){
first.prior=newNode;
newNode.next=first;
first= current = newNode;
numberOfNodes++;
return this;
}
setFirst();
while(current.next != null && newNode.data.compareTo(current.data)<0){
current=current.next;
}
if(current.next==null){
current.next=newNode;
newNode.prior=current;
last=current=newNode;
numberOfNodes++;
return this;
}
else{
current.prior.next=newNode;
newNode.prior=current.prior;
newNode.next=current;
current.prior=newNode;
current=newNode;
numberOfNodes++;
return this;
}
}
我在 current.prior.next=newNode 处遇到空指针异常;
有人可以帮我解决这个问题吗?
非常感谢!
【问题讨论】:
-
是的,
current或current.prior为空。你调试告诉你什么? -
current.prior 不为空,是 current.prior.next 导致了问题!
-
如果您想帮助我们帮助您,请准备一个可运行的示例来演示该问题。
-
我该怎么做?对不起,我是 StackOverflow 的新手:S
-
包含一个 main 方法,这样我们就可以简单地复制粘贴您的代码来重现问题。
标签: java list exception insert nullpointerexception