1 /* 2 关于java中的可变长参数 3 */ 4 import java.util.Date; 5 6 public class Test01 7 { 8 //m1方法有一个int类型可变长参数 9 public static void m1(int... a){ //m1方法在调用的时候,传递的实参可以是 0-N 个. 10 System.out.println("Test"); 11 } 12 13 //如果可以精确匹配的方法,则调用该方法,不会再去执行可变长参数的那个方法. 14 public static void m1(int i){ 15 System.out.println(i); 16 } 17 18 //可变长参数可以等同看做数组 19 public static void m2(String... args){ 20 21 for(int i=0;i<args.length;i++){ 22 System.out.println(args[i]); 23 } 24 25 } 26 27 28 public static void m3(Class... args) throws Exception{ 29 for(int i=0;i<args.length;i++){ 30 Class c = args[i]; 31 System.out.println(c.newInstance()); 32 } 33 } 34 35 //可变长参数只能出现一次,并且只能出现在所有参数的最后一位。 36 //public static void m4(String... a,int i){} 37 38 public static void m4(int i,String... a){} 39 40 public static void main(String[] args) throws Exception{ 41 m1(); 42 m1(1); 43 m1(1,2); 44 m1(3,4,5,6,7); 45 46 m2("体育","音乐","旅游","美食"); 47 48 String[] s = {"体育","音乐","旅游","美食"}; 49 m2(s); 50 51 52 m3(Date.class,Employee.class); 53 } 54 }