36

可能重复:
Java 是按引用传递吗?

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

4

4 回答 4

37

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

是的

List 对象是否通过引用传递?

参考价值将被传递

public updateList(List<String> names){
 //..
}

解释

当您调用updateList(someOtherList);其值时someOtherList,引用将被复制到names(方法中的另一个引用,逐位)所以现在它们都引用内存中的同一个实例,因此它会改变


于 2012-07-09T14:25:02.983 回答
16

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

于 2012-07-09T14:26:15.183 回答
5

如果您以一种方法添加到列表中,则其在第一种方法中的原始引用也将包含新项目。

java 是按值传递的,对于对象,这意味着引用是按值传递的

于 2012-07-09T14:26:05.157 回答
0

是的,因为您只需将ArrayList-Object 的引用传递给您的Object.

于 2012-07-09T14:25:09.053 回答