JavaSE 5.0 中提供了 Varargs 机制,允许直接定义能和多个实参相匹配的形象。从而,可以用一种更简单的方式,来传递个数可变的实参。
JDK 5.0 以前,采用数组形参来定义方法,传入多个同一类型变量。
public static void test(int a, String[] books);
JDK 5.0 ,采用可变个数形参来定义方法,传入多个同一类型变量。
public static void test(int a,String...books);
注:String[ ] books 和 String...books 表示的参数相同,只是写法有区别
举个例子
public class Test {
public static void main(String[] args) {
Test test = new Test();
test.show("hello");
test.show("hello","world");
}
public void show (String s) {
System.out.println("一个参数");
}
public void show (String...strs) {
System.out.println("多个参数");
}
}
>>> 一个参数
多个参数
注意:多形参只能放在传参的最后位置
public static void test(String...books,int a);
// error:The variable argument type String of the method show must be the last parameter