java中LIST 出来的东东 作为参数放进一个方法,方法里改变了LIST,那是不是就真的改变了?还是出了这个方法
发布网友
发布时间:2022-04-29 14:48
我来回答
共4个回答
热心网友
时间:2023-10-12 18:04
不知道你所谓的改变是什么,是给list重新赋值了还是改变了list里面的项,如果是给list重新赋值,原来list指向的list不会改变,如果是改变了里面的项,那就确实变了
热心网友
时间:2023-10-12 18:04
List是一个对象,传入方法时是作为引用传递的,所以你在方法里面操作的List就是你传进去那个。出了方法当然会改变List。如果你不想改变它,可以在方法里拷贝一个新的List,在上面执行操作。
热心网友
时间:2023-10-12 18:05
会改变list
list作为参数传进去时地址传递
所以你只要在新的方法里面更改了list
就会对list造成改变
热心网友
时间:2023-10-12 18:05
直接看代码,运行下就知道结果了
打印出来的是
a
b
c
import java.util.ArrayList;
import java.util.List;
public class TestList {
public void add(List list,String value){
list.add(value);
}
public static void main(String[] args) {
List list=new ArrayList();
list.add("a");
list.add("b");
TestList t=new TestList();
t.add(list, "c");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}