我嘗試下面的代碼,爲什麼空分配不在函數工作
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'的情況下,它指向什麼都不)。 –