在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print("hello","lisi");print("hello","张三", "alexia");下面介绍如何定义可变长参数 以及如何使用可变长参数。
可变长参数的定义
使用...表示可变长参数,例如
print(String... args){
...
}
在具有可变长参数的方法中可以把参数当成数组使用,例如可以循环输出所有的参数值。
print(String... args){
for(String temp:args)
System.out.println(temp);
}
可变长参数的方法的调用
调用的时候可以给出任意多个参数也可不给参数,例如:
print("hello");
print("hello","lisi");
print("hello","张三", "alexia")
import java.util.Arrays;
以下两种方法定义都是错误的。
public void test(String... strings,ArrayList list){
}
public void test(String... strings,ArrayList... list){
}
其他参数只能定义在可变长参数前面,且一个参数列表里面只能定义一个可变长参数。
public static void main(String[] args){
//String[] args:在Eclipse
System.out.println(args.length);
test(1,"a","b","c");
}
public static void test(int a,String... str){
System.out.println(a+Arrays.toString(str));
}
}