参数数量可变的方法

时间:2021-02-08 16:52:33

 

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"});