在 Java SE 5.0 以前的版本中,每个 Java 方法都有固定数量的参数。然而,现在的版本提供了可以用可变的参数数量调用的方法(有时称为“变参”方法)。
    这里以 printf 来做例子:

    1. public class PrintStream {
    2. public PrintStream printf(String fmt, Object...args) {
    3. return format(fmt, args);
    4. }
    5. }

    这里的省略号…是 Java 代码的一部分,它表明这个方法可以接收任意数量的对象(除 fmt 参数之外)。
    实际上,printf 方法接收两个参数,一个是格式字符串,另一个是 Object[] 数组。可以说,Object... 参数类型与 Object[] 完全一样。
    于是就可以这样来写:

    1. System.out.printf("%d %s", new Object[] {new Integer(n), "widgets"});

    甚至可以将 main 方法声明为下列形式:

    1. public static void main(String..args)