public class Pets { public static void printPets() { ArrayList<String> arr = new ArrayList<>(); arr.add("111"); arr.add("222"); favourtePets(arr); System.out.println(arr); } private static void favourtePets(ArrayList arr) { ArrayList<String> arrNew = new ArrayList<>(); arrNew.add("333"); arrNew.add("444"); arrNew.add("555"); arr = arrNew; } public static void main(String[] args) { printPets(); //輸出結果:[111, 222] //緣由是:參數是基本類型值傳遞,對象的引用傳遞,實際上是複製棧上地址(和基本類型相似) //那麼favourtePets方法內部的arr 僅僅是原對象引用值的一份拷貝,指向原隊列的地址的副本,能夠操做原隊列,增刪改 //可是對參數的修改不會影響到原有值 } }