Java中的參數傳遞方式有兩種,分別是引用傳遞和值傳遞。
值傳遞指的是將參數的值復制一份后傳遞給方法內部,方法內部對傳遞進來的參數進行修改并不會影響到原來的參數值,也不會影響方法外部的變量值。例如:
public static void main(String[] args) { int a = 1; changeValue(a); System.out.println(a); // 輸出結果為1 } public static void changeValue(int b) { b++; }
上面的代碼中,我們在方法內部將傳遞進來的參數值b加1后,并沒有影響到原來的變量a的值。
而引用傳遞則是將參數的引用傳遞給方法內部,方法內部對傳遞進來的參數進行修改,會影響到原來的參數值,也會影響到方法外部的變量值。例如:
public static void main(String[] args) { int[] a = new int[]{1}; changeValue(a); System.out.println(a[0]); // 輸出結果為2 } public static void changeValue(int[] b) { b[0]++; }
上面的代碼中,我們在方法內部將傳遞進來的參數b所指向的數組的第一個元素加1后,影響到了原來的變量a的值,輸出結果為2。