簡體   English   中英

在這個鏈表方法中,我嘗試按排序順序添加一個項目,但我得到一個 null 指針異常

[英]In this linked list method I try to add a item in sorted order, but I am getting a null pointer exception

    public void addNode(Car newCarEntry){
    ListNode currentNode;
    ListNode previousNode;
    ListNode newNode = new ListNode(newCarEntry);

    if (head == null || newCarEntry.isNewerThan(head.carItem)){
        newNode.next = head;
        head = newNode;
    }else{
        currentNode = head.next;
        previousNode = head;
        while(currentNode != null &&      !newCarEntry.isNewerThan(currentNode.carItem)){
            currentNode = currentNode.next;
            previousNode = currentNode;
        }
        newNode.next = currentNode;
        newNode = previousNode.next;
    }
}

您推進指針的方式有誤。 改變:

        currentNode = currentNode.next;
        previousNode = currentNode;

        previousNode = currentNode;
        currentNode = currentNode.next;

你讓 currentNode 和 previousNode 持有對同一個 object 的引用的方式,這不是你想要的。

編輯:你的最后一行也應該是

    previousNode.next =  newNode;

歐洲工商管理學院

    newNode = previousNode.next;

因為您沒有以這種方式將新節點附加到列表中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM