java中的可变参
1.特点
a.只能出现在参数列表的最后
b.变量类型和变量名之间用...连接,可以有空格
c.调用可变参的方法时,编译器为该可变参隐含创建一个数组,在方法体中以数组的方式访问可变参
d.一个方法最多只能有一个可变参数
package cn.itcast; public class Demo1 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(add(1,2)); System.out.println(add(1,2,3)); } public static int add(int...arr){ int sum=0; for(int i:arr){ sum+=i; } return sum; } public static int add(int a,int b){ return a+b+10; } }
输出结果 13 6
结论:当调用方法的时候,如果能够和固定参数的方法匹配,也能够和可变参数的方法匹配,优先选择固定参数的方法
public static void main(String[] args) { // TODO Auto-generated method stub m1(""); m1("aaa"); m1("aaa","bbb"); } public static void m1(String s, String... ss) { for (int i = 0; i < ss.length; i++) { System.out.println(ss[i]); } }
输出结果:bbb