Java中的可变长参数
可变长参数的定义
与一般方法没多大差别,只不过形参多了...(三个点)
方法名(数据类型 ... 变量名){}
小案例:
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; } }