Fork me on GitHub

可变参数

在调用方法时,必须按照方法定义的变量进行参数传递,但是当参数个数不确定时,就无法准确的进行方法的调用,最初的解决方法是将参数包装成一个数组,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class testDeno6 {
public static void main(String args[]) {
System.out.println(add(new int[] {4,5,6}));
System.out.println(add(new int[] {1,2}));
}
public static int add(int[] data) {
int sum=0;
for(int x=0;x<data.length;x++) {
sum+=data[x];
}
return sum;
}

}

为了解决这个问题,从JDK 1.5开始,在方法定义上提供了可变参数的概念,开发者可以使用参数类型…变量的形式传递若干参数,着多个变量,将以指定类型的数组进行保存,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class testDeno6 {
public static void main(String args[]) {
System.out.println(add(new int[] {4,5,6}));
System.out.println(add(new int[] {1,2}));
System.out.println(add(4,5,6));
System.out.println(add(1,2));
}
public static int add(int...data) {
int sum=0;
for(int x=0;x<data.length;x++) {
sum+=data[x];
}
return sum;
}

}

可以看出,即使用了可变参数定义了方法,也可以接收数组,也可以直接传递任意多个参数

-------------本文结束感谢您的阅读-------------
Donate comment here