可变参数 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:30result:60result:100可变参数的方法:550可变参数的方法:10