2 h meichuan h_meichuan 于 2016.03.19 14:42 提问

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

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.19 14:48
已采纳

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

caozhy
caozhy 回复h_meichuan: 其实主要是写法上帮你简化下
一年多之前 回复
h_meichuan
h_meichuan 谢谢谢谢,现在大概明白了~~请问下,两者之间还有什么重要的差异不?
一年多之前 回复
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.19 14:53

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

h_meichuan
h_meichuan 恩,光从这段程序来看效果是一样的
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!