什么是java中的"String ..."?

Ano*_*rWu 8 java string android

可能重复:
varargs和'...'参数
Java,参数中有3个点

我在我的android java文件中看到了这个定义.它看起来就像String [].他们不一样吗?谢谢.

Nis*_*ant 15

varags.如果方法签名是method(Param param, String... x)一种Param类型的对象和任意数量的String对象.

有一些关于它的酷事:

  1. 没什么特别的.它只是含糖的阵列.所以,method(MyObject... o)就像method(MyObject[] o).

  2. Vararg 必须是参数列表中的最后一个参数.

  3. 有一件有趣的事让我咬了一口气.method(MyObject... o)可以在method()没有任何编译错误的情况下调用.Java将在内部将no-arg调用转换为method(new MyObject[0]).所以,要注意这一点.


Wil*_*sem 6

它是将数组项作为参数写入的语法

例如:

 public String first (String... values) {
     return values[0];
 }
Run Code Online (Sandbox Code Playgroud)

然后你可以调用这个方法 first("4","2","5","67")

javacompiler将自己创建一个参数数组.