我尝试下面的代码,为什么空分配不在函数工作
public void test() {
List<Integer> list = new ArrayList<>();
list.add(100);
list.add(89);
System.out.println(list);
update1(list);
System.out.println(list);
update2(list);
System.out.println(list);
}
public void update1(List<Integer> list) {
list.remove(0);
}
public void update2(List<Integer> list) {
list = null;
}
我得到下面的输出,
[100,89]
[89]
[89]
我的问题是,为什么我不能够分配该列表为null里面有一个被调用的函数吗?
感谢@ColonelThirtyTwo,但我的问题是改编职系的空分配。我知道“Java永远是有价值的,没有例外。”从帖子“http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value” – Kajal
零分配什么_about_?你只是改变'list'指向的东西(在'null'的情况下,它指向什么都不)。 –