int... args 这就是可变长度参数
语法是: 类型... (注意:一定是3个点)1、可变长度参数要求的参数个数是:0~N个
2、可变长度参数在参数列表中必须在最后一个位置上,而且可变长度参数只能有1个
3、可变长度参数可以当做一个数组来看待
代码演示如下:
package bj.powernode.javase.reflect;
public class ArgsTest {
public static void main(String[] args) {
// 测试m方法
m(); // 不传参也能输出
m(1111,2222,3333,4444,5555); // 传多个参数也能输出
// m("kitty"); // 报错, 因为m()方法的可变长度参数是int类型 不能传String类型
// 测试m2方法
m2("a","b","c","d","e");
// 也可以传也给数组
String[] strings ={"我","是","中","国","人"};
m2(strings);
}
public static void m(int... args){ // 可变长度参数
System.out.println("m方法开始执行了~");
}
/*
这种方法格式不对,m1()方法当中可变长参数有两个, 规定可变长参数只能有一个
public static void m1(int... args1,String... args2){}
*/
public static void m2(String... args){
// args有length属性,说明args是一个数组~
System.out.println(args.length); // 5
// 遍历数组
for (int i=0;i<args.length;i++){
System.out.println(args[i]); // println 自带换行符 别忘记了~
}
}
}
输出结果: