编程语言
首页 > 编程语言> > Java,当你做object = object时内部发生了什么?

Java,当你做object = object时内部发生了什么?

作者:互联网

我在Java中实现单链表,我有一个问题.
除了和删除节点之外,很多人都使用这样的临时节点:

public Object removeFirst() {
   Node temp = head;
   head = temp.next;
   Object returnData = temp.data;
   temp = null;
   size--;
   return returnData;
}

为什么这个临时节点是必要的?乍一看,我认为为了删除第一个元素我必须做的就是将第二个元素更改为头节点.

所以我的问题是在java中,object = object是什么意思?继承每个字段和方法,2个对象是否完全相同?

解决方法:

不需要温度.在head变量不再引用该节点之后,它用于获取已删除节点的数据,但可以在没有它的情况下完成:

public Object removeFirst() 
{
    Object returnData = head.data;
    head = head.next;
    size--;
    return returnData;
}

标签:object-reference,java,object,singly-linked-list
来源: https://codeday.me/bug/20190724/1521933.html