Java SE笔记: 可变长参数

关于Java中可变长参数:见例子(4个注意点)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class Test01
{
//m1方法有一个int类型可变长参数
public static void m1(int... a){ //m1方法在调用的时候,传递的实参可以是 0-N 个.
System.out.println("Test");
}

//如果可以精确匹配的方法,则调用该方法,不会再去执行可变长参数的那个方法.
public static void m1(int i){
System.out.println(i);
}
//可变长参数可以等同看做数组
public static void m2(String... args){
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
}

public static void m3(Class... args) throws Exception{
for(int i=0;i<args.length;i++){
Class c = args[i];
System.out.println(c.newInstance());
}
}
//可变长参数只能出现一次,并且只能出现在所有参数的最后一位。
//public static void m4(String... a,int i){}
public static void m4(int i,String... a){}
public static void main(String[] args) throws Exception{
m1();
m1(1);
m1(1,2);
m1(3,4,5,6,7);
m2("体育","音乐","旅游","美食");
String[] s = {"体育","音乐","旅游","美食"};
m2(s);
m3(Date.class,Employee.class);
}
}
文章目录
  1. 1. 关于Java中可变长参数:见例子(4个注意点)