Java5.0以后提供了可以用可变参数数量调用的方法
public calss PrintStream{ public PrintStream printf(String fmt, Object ... args){ return format(fmt, args); } }
省略号...是Java代码的一部分,它表明这个方法可以接受任意数量的对象。个数可变的形参只能处于形参列表的最后,也就是说一个方法中最多只能包含一个个数可变的形参
System.out.print("%d", n);
System.out.print("%d %s", n,"widgets");
对于printf的实现者来说,Object...参数类型与Object[]参数类型完全一样。
//编译器需要对 printf的每次调用进行转换,以便将参数绑定到数组上,并在必要的时候进行自动装箱 System.out.print("%d %s", new Object[]{new Integer(n), "widgets"});