我创建了一个删除双向链表中第一个元素的函数。但是声明head.getnext().getprevious()= null;
中的错误
有人可以帮忙吗?
public DNode deleteFirst() // deletes the first element.
{
if( head== null) // for empty list
{
System.out.println("List already Empty!");
}
DNode temp = head;
if (head.getNext()== null) //if only one item
tail = null;
else
head.getNext().getPrevious()= null;
head = head.getNext();
return temp;
}
}
答案 0 :(得分:1)
=
是一项作业,但您无法为方法分配值...
head.getNext().getPrevious()= null;
getPrevious
正在返回对该值的引用,您无法为该方法(或其后面的变量)赋值。
并非所有方法都返回托管变量,有些返回计算值,因此允许这种类型的赋值是没有意义的。
您需要提供更多能够实际取消引用类
中包含的字段的方法答案 1 :(得分:0)
getPrevious方法的结果是下一个元素的上一个属性的副本,而不是指向表示该属性的字段的指针。如果您要更改属性,则需要一个setter和一个getter:head.getNext().setPrevious(null);