1. 程式人生 > >JAVA方法中陣列作為形參,傳的是引用

JAVA方法中陣列作為形參,傳的是引用

之前一直以為傳陣列和基本型別都是傳的值,今天做題時發現傳陣列傳的其實是引用。

public class Tests {

    public static void main(String[] args) {
        int[] s = { 1, 2, 3, 4, 5 };
        change1(s);
        for (int i : s) {
            System.out.print(" " + i);
        }
        System.out.println();
        change2(s);
        for
(int i : s) { System.out.print(" " + i); } System.out.println(); } // 傳遞的引用,直接修改內容,,s+0,s+1的值被改變 private static void change1(int[] s) { s[0] = 6; s[1] = 7; } // 傳遞的也是引用,但s=b無法改變s的指標,所以s內容不會變 private static void change2(int[] s) { int
[] b = { 5, 4, 3, 2, 1 }; s = b; } }

輸出內容

6 7 3 4 5
6 7 3 4 5