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);工作完美。谢谢