所以,我在这里遇到了一些问题。我在线程得到一个错误的双链表 - 插入方法
if(Front.data==null)
异常 “主” 在 DoubleLinky.insert(DoubleLinky.java:17)显示java.lang.NullPointerException
我该如何解决这个问题,我实际上很难学习双链表是如何工作的。
public class DoubleLinky<AnyType> implements DoublyLinkedList<AnyType>
{
private MyDoubleNode<AnyType> Front = null;
MyDoubleNode<AnyType> Tail = new MyDoubleNode<AnyType>();
public void insert(AnyType x)
{
if(lookup(x)==true)
return;
if(Front.data == null)
{
Front.data = x;
return;
}
if(Tail.data == null)
{
Tail.data = x;
return;
}
MyDoubleNode<AnyType> A = Front;
MyDoubleNode<AnyType> C = Tail.next;
MyDoubleNode<AnyType> B = new MyDoubleNode<AnyType>(x, C, A);
A.next = B;
C.prev = B;
}
@SotiriosDelimanolis那么,也许这个问题是在你的水平上重复,但它不是在OP的水平。如果他愿意接受你的技能,他不必打开这个问题。在我看来,你现在正在关闭狂欢。 – peterh
@peterh重复是我们所说的_canonical answer_。每天都会问这个问题多次。我们不会开始回答每一个事件。规范的答案解释了NPE是什么以及如何调试它。这就是你应该需要的。除非抛出代码的东西极其模糊,否则没有理由重复。只有一种方法'Front.data == null'可以抛出'NullPointerException'。 –
@peterh您可以进一步讨论在Meta上重复关闭的原因(或重复的重复项)。 –