java list引用传递_关于java:List对象是否通过引用传递?

本文解析了在Java中传递ArrayList对象时,是否按引用传递的问题。指出所有原语和引用都通过值传递,但传递的是引用,而非对象本身,修改列表会同步更新。讨论了如何理解Java的值传递和引用概念,并举例说明。
摘要由CSDN通过智能技术生成

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:

Is Java pass-by-reference?

是否通过引用传递List对象?换句话说,如果我将一个ArrayList (java.util.ArrayList)对象传递给一个类,当我更改它时,它会自动更新吗?

提示:ArrayList或List在这方面并不特殊。事实上,在这方面没有一门课是特别的。

所有的原语和引用都通过Java中的值传递。在您的例子中,您有一个对列表的引用(而不是这样的列表),对它的引用将按值传递。

in other word: If I pass an ArrayList (java.util.ArrayList) object to a class, will it be automatically updated when I change it?

是的

Does the List object passed by reference?

引用的值将被传递

public updateList(List names){

//..

}

解释

当调用updateList(someOtherList);时,作为引用的someOtherList的值将复制到names中(方法中的另一个引用,逐位),因此现在它们都引用内存中的同一个实例,因此它将发生变化。

Java是"通过引用"还是"按值传递"?

是的,传递给方法的List是通过引用传递的。在方法内部添加到List中的任何对象在方法返回后仍将位于List中。

如果您在一个方法中添加到一个列表,它在第一个方法中的原始引用也将包含新项。

Java是按值传递的,对于对象,这意味着引用是通过值传递的。

是的,因为你只是把ArrayList对象的引用传递给你的Object。

Does the List object passed by reference?

不,Java使用EDCOX1×9×NOTEXDOX1×10 }。它通过对象引用内存地址表示的副本,因此,当您通过列表时,得到不同的引用,但指向相同的内存。

当通过primitives时会发生什么?

嗯,这不是通过引用传递的意思吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值