class A{}
public class VarArgs {
static void printArray(Object[] args){
for (Object obj:args){
System.out.printf(obj+" ");
}
System.out.println();
}
public static void main(String[] args) {
printArray(new Object[]{
new Integer(47),new Float(3.14),new Double(11.11)
});
printArray(new Object[]{"one","two","three"});
printArray(new Object[]{new A(),new A(),new A()});
}
}
可变参数列表:
class A{}
public class NewVarArgs {
static void printArray(Object... args){
for (Object obj:args){
System.out.printf(obj+" ");
}
System.out.println();
}
public static void main(String[] args) {
printArray(
new Integer(47),new Float(3.14),new Double(11.11)
);
printArray(47,3.14F,11.11);
printArray("one","two","three");
printArray(new A(),new A(),new A());
printArray(new Integer[]{1,2,3});
printArray();//Empty list is Ok
}
}
有了可变参数列表,就不用显示地编写数组语法了。当指定参数时,编译器会填充数组。
也可指定Object之外的类型的可变参数列表。