java - 从自定义 LinkedList 数组的 addToBack 方法引发 NullPointerException

标签 java arrays linked-list

我正在尝试实现一个 LinkedList。这些方法在此示例中运行完美:

    LinkedList list = new LinkedList();
    Node newNode = new Node("sarah", 20);
    list.addToBack(newNode);
    System.out.println(list.nodeAt(0).getName());

但在这个例子中,当我尝试对数组使用相同的方法时:

    LinkedList[] list = new LinkedList[3];
    Node newNode = new Node("sarah", 20);
    list[1].addToBack(newNode);
    System.out.println(list[1].nodeAt(0).getName());

对于最后一个例子,我得到以下结果:

    Exception in thread "main" java.lang.NullPointerException
        at Main.main(Main.java:27)

这是调用 addToBack 方法的行。 方法是这样的:

public void addToBack(Node newNode) throws NullPointerException {
    if (this.head == null){
        this.head = newNode;
        return;
    }
    Node current = this.head;
    while (current.hasNext()){
        current = current.next;
    }
    current.next = newNode;
    ++size;
}

最佳答案

您没有创建对象。您刚刚创建了一个 LinkedList 数组

LinkedList[] lists = new LinkedList[3]; // Just create the array of linked lists

你必须添加这样的东西

 lists[1] = new LinkedList(); // Create the object at index 1 of the array

 ...


 lists[1].addToBack(newNode);

关于java - 从自定义 LinkedList 数组的 addToBack 方法引发 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48693911/

相关文章:

java - 用于自动故障转移的 Galera 集群 JDBC URL

java - 如何获取主类的 Java 类依赖项列表?

java - 递归返回 i 在 j 中出现的位置数组

Java,函数不识别return语句

c++ - 链表的 Delete_At 函数使程序崩溃

java - 从android应用程序接收java servlet中的空值

java - 如何从 Java Rest Web 服务返回 ajax 中的值?

c++ - C++-检查单词是否为结构数据类型的回文

c++ - 如何获得正确答案合并 2 个排序数组?! C++

c - 使用基于指针的链表计算多项式和时指针分配中的逻辑错误