Java 双向链表上的迭代器

Java Iterator on doubly linked list

嗨,我是 Java 的新手,在为双向链表构建嵌套迭代器 class 时遇到了这个问题。 运行 测试程序时,我在 E next 方法上遇到此错误。 Iterator 中 next 方法的目标是 return 双向链表中的下一项。

任何人都可以建议修复我的代码吗?非常感谢任何帮助!

错误信息:

Exception in thread "main" java.lang.NullPointerException at dlinkedlist.Deque$DoubleListIterator.next(Deque.java:51)

    public E next() {
        if (!hasNext()) throw new NoSuchElementException();
        last = current;
        E value = current.item;
        current = current.next; 
        index++;
        return value;
    }
    public void remove() { throw new UnsupportedOperationException(); }
  }// end class ListIterator

您的 current 对象似乎为空。你能查一下吗?