gpt4 book ai didi

Java-将列表传递给按引用传递的方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:56:22 34 4
gpt4 key购买 nike

在 stackoverflow 中有很多关于按值传递和按引用传递的讨论。但我想知道在以下情况下发生了什么?This page说java是按值传递的。 Is Java "pass-by-reference" or "pass-by-value"? .

在以下代码的情况下,元素从 removeElement 方法中删除,它在我打印列表时从列表中删除第 5 个元素。

public class Load {
public static void main(String[] args) {


ArrayList<Integer> list = new ArrayList<Integer>();
list.addAll(Arrays.asList(1,1,2,3,5,5,13,21));
removeElement(list);
System.out.println(list);
}
public static void removeElement(List<Integer> list){
list.remove(5);//removes element at index 5
}
}

程序的输出是[1, 1, 2, 3, 5, 13, 21]

有人可以解释一下这是按值传递而不是按引用传递吗?

最佳答案

Java 总是按值传递。 Object 类型的任何variable 的值实际上是一个引用。这就是为什么,例如,== 被称为引用比较,您需要使用 .equals() 来比较 Object( s).

关于Java-将列表传递给按引用传递的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29726423/

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