我有一个非常令人沮丧的问题:
我正在尝试运行一个迭代器,但它在 hasNext 类中不断出现 java.lang.NullPointerException。
我不太确定它可能在哪里尝试使用空值。我假设这与电流有关。我添加了一个 if 语句来检查 current 是否为空。但随后它返回和意想不到的价值。
帮助表示赞赏。
下面的代码:
private class Iterator implements Iterator
{
private Link<T> current;
public boolean hasNext () {
if(current.next == null)
return false;
return true;
}
public T next() throws OutOfBounds
{
if (this.hasNext())
{
T element = current.element;
current = current.next;
return element;
}
else
throw new OutOfBounds("No next element to call");
}
}
private class Link<T>
{
private T element;
private int priority;
private Link<T> next;
public Link(T t, int p, Link<T> n)
{
this.element = t;
this.priority = p;
this.next = n;
}
}
}