Java 为什么这个程序显示错误?
我创建了一个函数来删除双链接列表中的第一个元素。但是语句Java 为什么这个程序显示错误?,java,linked-list,Java,Linked List,我创建了一个函数来删除双链接列表中的第一个元素。但是语句head.getnext().getprevious()=null中有一个错误 有人能帮忙吗 public DNode deleteFirst() // deletes the first element. { if( head== null) // for empty list { System.out.println("List already Empt
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;
}
}
=
是赋值,但不能将值赋值给方法
head.getNext().getPrevious()= null;
getPrevious
正在返回对该值的引用,不能为该方法(或其背后的变量)赋值
并非所有方法都返回托管变量,有些方法返回计算值,因此允许这种类型的赋值是没有意义的
您需要提供更多的方法,该方法能够实际取消引用类中包含的字段getPrevious方法的结果是下一个元素的previous属性的副本,而不是指向表示该属性的字段的指针。如果要更改属性,则需要setter和getter:head.getNext().setPrevious(null)代码>您希望该行做什么?您希望如何为方法调用的结果赋值?我想尝试将该特定链接设为null以删除该链接。这听起来像是您希望对getPrevious()
调用的结果执行的操作吗?你肯定是想设置上一个链接。。。因此,寻找一个setPrevious
方法……我将其更改为head.getNext().setPrevious(null);工作完美。谢谢