为什么foo(Object ... obj)在Java1.5中实现?

cor*_*der 1 java java-ee

作为两个功能

foo(Object... obj)
{
for(int i=0;i<obj.length;i++)
System.out.println(obj[i]);
}
Run Code Online (Sandbox Code Playgroud)

foo(Object [] obj)
{
for(int i=0;i<obj.length;i++)
    System.out.println(obj[i]);
}
Run Code Online (Sandbox Code Playgroud)

并且可以完成函数调用

FOO(OBJ,STR,1);

FOO({OBJ,STR,1});

分别执行相同的功能,后者从java的开始就存在,然后为什么实现Object ... obj

哪一个更好,为什么?

das*_*ght 5

...功能是一种语法糖 -他们提供更方便的语法(没有括号)没有改变任何东西,包括性能.编译器在场景后面做同样的事情,让你使用更方便的语法.