將數組作為方法參數


1、數組沒有做方法參數時,可以直接給數組的引用賦值

2、數組作為方法參數傳遞時,給數組的引用賦值是無效的,需要分別給每個元素賦值。

其實這些都是java形參和實參的原理。

import java.util.Arrays;

public class ArrayTest {
    public static void main(String[] args){
        int[] intArrs = new int[5];
        System.out.println(Arrays.toString(intArrs));

        //直接給整個數組賦值,有效
        int[] intArrs2 = {2,3,4,5};
        intArrs = intArrs2;
        System.out.println(Arrays.toString(intArrs));

        //在方法中通過形參給整個數組賦值,無效
        apply(intArrs);
        System.out.println(Arrays.toString(intArrs));

        //分別給單個數組元素賦值,有效
        apply2(intArrs);
        System.out.println(Arrays.toString(intArrs));
    }

    /**
     * 給整個數組賦值
     * @param arr
     */
    public static void apply(int[] arr){
        int[] intArr = {3,45,43,55,33,55,33};
        arr = intArr;
    }

    /**
     * 給數組單個元素賦值
     * @param arr
     */
    public static void apply2(int[] arr){
        for(int i=0;i<arr.length;i++){
            arr[i] = 66;
        }
    }
}

運行結果:

[0, 0, 0, 0, 0]
[2, 3, 4, 5]
[2, 3, 4, 5]
[66, 66, 66, 66]

可以看出,數組沒有作為形參傳遞時,可以直接給數組的引用賦值;當數組作為方法形參時,直接賦值無效,這時元素單個賦值是有效的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM