这是Java5新增的用于数组的特性。
method (Object... args)
有了可变参数列表,我们就不用再显式的编写数组语法了,当我们指定参数时,编译器实际上会自动填写数组。我们获得的仍然是一个数组。可变参数列表中可以使用任何类型的参数,包括基本类型。
之前我们传递数组的时候
class A {}
public class VarArgs {
static void printArray(Object[] args) {
for (Object obj: args) {
System.out.print(obj + " ");
}
System.out.println();
}
public static void main(String[] args) {
printArray(new Object[] {47, (float) 3.14, 11.11});
printArray(new Object[] {"one", "two", "three"});
printArray(new Object[] {new A(), new A(), new A()});
}
}
需要显式传递数组:
printArray(new Object[] {47, (float) 3.14, 11.11});
printArray(new Object[] {"one", "two", "three"});
printArray(new Object[] {new A(), new A(), new A()});
有了Java5新增的这个特性后我我们就可以直接传递
printArray(47, (float) 3.14, 11.11);
printArray(47, 3.14F, 11.11);
printArray("one", "two", "three");
printArray(new A(), new A(), new A());