可变参数 Java 中可变参数
现在需要编写一个求和的功能,但是不知道有几个参数,在调用的时候才知道有几个参数,请问这如何实现呢?
Java 给我们提供了一个 JDK 1.5 的新特性---可变参数
可变参数:定义方法的时候不知道方法的参数
格式:访问修饰符 返回值类型 方法名(参数类型... 参数名){}
注意:这里的变量其实是一个数组,如果一个方法有多个参数,还有可变参数,那么可变参数一定放在最后。
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
int result = sum(a, b);
System.out.println("result:" + result);
int c = 30;
result = sum(a, b, c);
System.out.println("result:" + result);
int d = 40;
result = sum(a, b, c, d);
System.out.println("result:" + result);
System.out.println("可变参数的方法:" + sum(10, 20, 30, 40, 50, 60, 70, 80, 90, 100));
System.out.println("可变参数的方法:" + sum(1, 1, 1, 1, 1, 1, 1, 1, 1, 1));
}
private static int sum(int a, int b) {
return a + b;
}
private static int sum(int a, int b, int c) {
return a + b + c;
}
private static int sum(int a, int b, int c, int d) {
return a + b + c + d;
}
private static int sum(int b, int... a) {
int s = 0;
for (int i : a) {
s += i;
}
return s + b;
}
}
运行结果
```
result:30
result:60
result:100
可变参数的方法:550
可变参数的方法:10
```
result:30
result:60
result:100
可变参数的方法:550
可变参数的方法:10
```