[Java]可变参数列表的参数传递

想问一下,可变参数列表Object... a 和 Object[] a 这两种写法到底有啥区别呢?


class Abc{ }

public class AboutObject {
    static void pr(Object... a){   //Object[] a
        for(Object i:a)
            System.out.print(i+"   ");
    }

    public static void main(String[] args){
        Object[] vmpair =new Object[]{
            new Abc(),new Abc(),new Abc(),
        };
        pr(vmpair);
    }
}

前者是可变参数,后者是数组,调用方式不同。
前者可以直接调用pr(new Abc(), new Abc(), new Abc());
不需要定义数组。

从测试效果上看,可变参数列表Object... a 和 Object[] a ,前者等价与后者的数组的。