1. 程式人生 > >java函式可變引數(不確定引數)的使用

java函式可變引數(不確定引數)的使用

java可變引數

當寫了一方方法後,想讓這個方法傳入不確定的引數值,就要用到可變引數

在jdk1.5加入了此方法,使用語法:

資料型別 ... 可變引數名稱

如:int ... data

public class Test {
    public static void main(String[] args) {
        int x = add(1,2,3,5,6,2);
        System.out.println(x);
    }

    public static int add(int ... a){
        int result = 0;
        for (int data:a) {
            result += data;
        }
        return result;
    }
}

可變引數的本質是陣列,相當於

public class Test {
    public static void main(String[] args) {
        int xx = add1(new int[]{1,2,3,5,6,2});
        System.out.println(xx);
    }

    public static int add1(int[] a){
        int result = 0;
        for (int data:a) {
            result += data;
        }
        return result;
    }
}

但要注意,一個方法只允許一個可變引數,並且寫在引數最後一個。

public class Test {
    public static void main(String[] args) {
        int xxx = addAtLeastTwo(1,2,3,4,23);
        System.out.println(xxx);
    }

    public static int addAtLeastTwo(int a,int b,int ... n){
        //如果有可變引數,一定要吧他放在最後一個引數
        int result = 0;
        for (int data:n) {
            result += data;
        }
        return result;
    }
}