1. 程式人生 > >arraylist按引用傳遞和值傳遞

arraylist按引用傳遞和值傳遞

假設有List a = new ArrayList<>();

List b = new ArrayList<>();

b.add(1);

b.add(2);

b.add(3);

當a = b,這個時候屬於引用傳遞;當a的資料改變,b的資料也會跟著改變。

假設a.set(0,2);這個時候b的資料就會變成2,2,3;

如果不希望引用傳遞,只是傳遞數值,可以這麼做;

for(i=0;i<b.size();i++)

{

a.set(i,b.get(i));

}

這樣子的話,就只有值傳遞,當a的資料變化了,b的資料也不會變化