可变长参数的定义
与一般方法没多大差别,只不过形参多了...(三个点)
方法名(数据类型 ... 变量名){}
小案例:
public class ParamDemo { public static void main(String[] args) {
//main方法也算是不定长参数的方法:(String ... args) /*-----------------------1、任意个数测试------------------------------*/
int sum1 = 0;
sum1 = add(2,3,4,5,6);//任意个 int型 参数
System.out.println(sum1); /*-----------------------2、数组测试------------------------------*/
int sum2 = 0;
int[] nums = {2,3,4,5,6};
sum2 = add(nums);//int 数组也是可以作为可变参数的,但反过来就不行,不定个数的参数无法作为参数为数组类型的方法的参数
System.out.println(sum2); /*-----------------------3、优先级测试------------------------------*/
int sum3 = 0;
sum3 = add(2, 3);
System.out.println(sum3); } /**
* 求任意个整数相加之和
* @param nums 任意个整数
* @return int 和
*/
public static int add(int ... nums){
int sum = 0;
for (int i : nums) {//遍历参数
sum+=i;
}
return sum;
} /*----------------------------------- ----不可重载-----------------------------------------------*/
// public static int add(int[] nums){
// //参数为int数组类型的方法不能重载
// } /*----------------------------------- ----优先选择定长参数的方法-----------------------------------------------*/
public static int add(int a, int b){
return a+b;
} }