是的,如果您有一个带有varargs参数的方法,例如:
public void foo(String... names)
您这样称呼它:
foo("x", "y", "z");然后编译器将其转换为:
foo(new String[] { "x", "y", "z"});names参数的类型为
String[],可以像其他数组变量一样使用。请注意,它 可能 仍然是
null:
String[] nullNames = null;foo(nullNames);
有关更多信息,请参见varargs的文档。
但这 并不 意味着可变参数与阵列互换-你仍然需要声明接受可变参数的方法。例如,如果您的方法声明为:
public void foo(String[] names)
那么第一种调用它的方法将无法编译。



