List
对象是否通过引用传递?换句话说,如果我将一个ArrayList (java.util.ArrayList)
对象传递给一个类,它会在我更改它时自动更新吗?
答案 0 :(得分:27)
换句话说:如果我将一个ArrayList(java.util.ArrayList)对象传递给一个类,当我更改它时会自动更新吗?
是
List对象是否通过引用传递?
参考价值将通过
public updateList(List<String> names){
//..
}
<强>解释强>
当您致电updateList(someOtherList);
时,作为参考的someOtherList
的值将被复制到names
(方法中的另一个引用,逐位),所以现在它们都指的是内存中的实例,因此它会改变
查看强>
答案 1 :(得分:6)
是的,传递给方法的List
通过引用传递。在方法返回后,您添加到方法内List
的任何对象仍将位于List
。
答案 2 :(得分:5)
如果您在一个方法中添加列表,则第一个方法中的原始引用也将包含新项目。
java is pass by value, and for objects this means the reference is passed by value
答案 3 :(得分:0)
是的,因为您只需将ArrayList
- 对象的引用传递给Object
。
答案 4 :(得分:-3)
Does the List object passed by reference?
不,Java使用pass by value
而不是pass by reference
。它做了什么,它传递了对象引用内存地址表示的副本,所以当你传递一个列表时,你会获得不同的引用,但指向相同的内存。