gpt4 book ai didi

java - head=head.getNext() 和 head=current.getNext() 有什么区别?

转载 作者:行者123 更新时间:2023-12-02 06:09:57 26 4
gpt4 key购买 nike

我想实现一个 LinkedListremove 方法,该方法可以删除任何特定位置的项目,但在本例中,我最感兴趣的是删除列表开头(第 0 个位置)的项目。

我的代码适用于 n 大于零的值,因此我为 n==0 编写了一个 if 语句,但在我用 google 搜索答案之前无法理解为什么它不起作用,对我来说,它看起来与我的类似写。

public class LinkedList<E> extends Node<E>{
public LinkedList(){}
public Node<E> head;
//removes node at n and returns contents of removed node;
public E remove(int n){
Node<E> current = head; T info;
if(n==0){info=current.getInfo();
head=current.getNext();return info;}
}
}

我最初的声明是 head=head.getNext() 而不是 head=current.getNext() 因此我的问题。两者有什么区别?

它们是否等效但执行方式不同?谢谢

最佳答案

如果head的值被分配给current(就像这里一样),它们应该是等价的。因为它们是对象,而不是基元,所以将一个对象分配给另一个对象会使它们都引用同一个对象。因此,调用 head.getNext()current.getNext() 都应该返回对同一对象的引用。

关于java - head=head.getNext() 和 head=current.getNext() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21977613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com