我正在编写自己的 LinkedList 类(我知道 API 中有一个 .. 等) 我的 DLink 中存储了整数,getElement() 返回存储在链接中的整数。
我从“return temp.getElement();”行中得到一个空指针异常 我的 get 方法有问题吗?例如为什么我想要这个方法:当我调用 get(0) 我想返回列表中的第一个元素
public int get(int index)
{
//forces the index to be valid
assert (index >= 0 && index < size());
DLink temp = _firstLink; //start at the head of the list
//iterate to the correct node
for(int i = 0; i < index; i++)
{
temp = temp._next;
}
return temp.getElement(); //and return the corresponding element
}
如果您想查看它,这是我的 DLink 课程:
//elements in DLink are integers
public class DLink {
public int _element;
public DLink _next;
public DLink _previous;
public DLink(int e)
{
_next = null;
_previous = null;
this._element = e;
}
public int getElement()
{
return _element;
}
public void setNext(DLink link)
{
_next = link;
}
public void setPrev(DLink link)
{
_previous = link;
}
public DLink getPrev()
{
return _previous;
}
public DLink getNext()
{
return _next;
}
}