[Js-Java SE]可变长参数

 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 }
原文地址:https://www.cnblogs.com/jiasq/p/8528404.html