/*
* 可变长参数
*/
public class Test01 {
public static void m1(int... a) {
System.out.println("Test01"); // 相当于传入了一个数组
for (int i = 0; i < a.length; i++)
System.out.println(a[i]);
}
// 如果有精确匹配的方法,则调用该方法,不会再去执行可变长参数的那个方法
public static void m1(int a) {
System.out.println("T");
}
public static void m2(String... str) {
for (int i = 0; i < str.length; i++)
System.out.println(str[i]);
}
public static void main(String[] args) {
m1();
m1(1);
m1(1, 2);
m1(1, 2, 3);
String str[] = { "A", "栈" };
m2(str);
}
}
运行结果
//在此处实际上是执行了m1(int... a)语句但是由于没有参数,也就没有输出
---------------------------------------------
T
---------------------------------------------
1 2
---------------------------------------------
1 2 3
---------------------------------------------
A 栈