可变参数列表

140 阅读1分钟

这是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());