1

我正在编写一个链表程序,试图按顺序插入一些东西,我在我的代码中使用了它,但它一直说这是一个 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){
4

2 回答 2

1

我不知道 的主体是什么comparator.compare,但是该方法中没有空检查,您应该这样做。

if (curr != null && curr.data!=null && comparator.compare(curr.data, insert.data) <= 0 
&& comparator.compare(curr.next.data, insert.data) > 0){
于 2013-03-14T23:04:52.650 回答
1

然后我检查以确保 curr 不为空。

您发布的代码不是检查是否curr为空,而是进行比较,并且可能试图对不存在的对象进行比较。

在尝试访问之前,您应该检查以确保curr.next链表中的下一个元素 ( ) 存在。

于 2013-03-14T22:00:37.150 回答