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;
    }
}

 

你可能感兴趣的:(java学习)