所谓可变参数,就是参数个数不确定,由用户随意传递。过去,我们编写这样这样的Java程序,会采用数组来解决这个问题。自从Java的新特性--可变参数推出后,我们可以直接用(数据类型 ...属性名)来解决,具体看下面的代码
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("现在解决不确定参数个数的方法");
System.out.println("随意个数");
System.out.println(add(123, 456));
System.out.println("没有参数");
System.out.println(add());
System.out.println("传递数组");
System.out.println(add(new int[] { 1, 2, 3 }));
System.out.println("-----------------------");
System.out.println("过去采用数组来求不确定参数个数的值的方法");
int[] data = { 12, 3, 123 };
System.out.println(add1(data));
}
public static int add(int... data) {// 现在解决不确定参数个数的方法
int sum = 0;
for (int i = 0; i < data.length; i++) {
sum += data[i];
}
return sum;
}
public static int add1(int data[]) {
int sum = 0;
for (int i = 0; i < data.length; i++) {
sum += data[i];
}
return sum;
}
}
上面代码的运行结果是
从上面可以看出,可变参数可以传递数组,随意个数的参数,甚至没有参数!
使用可变参数时要注意,一个方法只能有一个可变参数,当方法含有多个参数时,可变参数要放在最后面。