我正在编写一个链接列表的程序,试图按顺序插入一些东西,我在我的代码中使用了它,但它一直说它是NullPointerException,我不知道为什么。
public SortedLinkedList<T> add(T element) {
Node insert = new Node(element);
然后我检查以确保curr不为空。
if (comparator.compare(curr.data, insert.data) <= 0
&& comparator.compare(curr.next.data, insert.data) > 0){
答案 0 :(得分:1)
然后我检查以确保curr不为空。
您发布的代码不是检查curr
是否为空,它正在进行比较,并且可能尝试对不存在的对象进行比较。
在尝试访问链接列表之前,应检查以确保链接列表中的下一个元素(curr.next
)存在。
答案 1 :(得分:1)
我不知道comparator.compare
的主体是什么,但是在该方法中没有空检查,你应该做这样的事情。
if (curr != null && curr.data!=null && comparator.compare(curr.data, insert.data) <= 0
&& comparator.compare(curr.next.data, insert.data) > 0){