可变参数

JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致,我们可以对其简化成如下格式:

修饰符 返回值类型 方法名(参数类型... 形参名){ } 

其实这个书写完全等价于

修饰符 返回值类型 方法名(参数类型[] 形参名){ }

只是后面这种定义,在调用时必须传递数组,而前者可以直接传递数据即可。
JDK1.5以后。出现了简化操作。... 用在参数上,称之为可变参数。

例如:利用可变参数求和

/*
可变参数:是jdk1.5之后出现的新特性
使用前提:
    当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数
使用格式:定义方法时使用
    修饰符 返回值类型 方法名(数据类型...变量名)
可变参数的原理:
    可变参数的底层就是一个数组,根据传递参数的个数不同,会创建不同长度的数组,来存储这些参数
    传递的参数个数可以是0个、多个
 */
public class DemoVarArgs {
    public static void main(String[] args) {
        int s = add(1, 2, 3);
        System.out.println("和为:" + s);
    }

    public static int add(int... arr) {
        int sum = 0;
        for (int i : arr) {
            sum += i;
        }
        return sum;
    }
}
可变参数的注意事项:
1. 一个方法的参数列表,只能有一个可变参数
2. 如果方法的参数有多个,那么可变参数必须写在参数列表的末尾

 

原文地址:https://www.cnblogs.com/svipero/p/12435569.html