cov*_*bob 27 java oop syntax object
我正在查看一些代码并看到以下表示法.我有点不确定这三个点是什么意思,你称之为什么.
void doAction(Object...o);
Run Code Online (Sandbox Code Playgroud)
谢谢.
dre*_*ash 31
这意味着此方法可以接收多个Object作为参数.为了更好地低估,请从此处查看以下示例:
省略号(...)标识可变数量的参数,并在以下求和方法中进行演示.
static int sum (int ... numbers)
{
int total = 0;
for (int i = 0; i < numbers.length; i++)
total += numbers [i];
return total;
}
Run Code Online (Sandbox Code Playgroud)
使用尽可能多的逗号分隔的整数参数调用summation方法 - 在JVM的限制范围内.一些例子:sum(10,20)和sum(18,20,305,4).
这非常有用,因为它允许您的方法变得更抽象.从SO中查看这个很好的例子,用户是否利用...表示法来创建一个用Java连接字符串数组的方法.
public static void test(int some, String... args) {
System.out.print("\n" + some);
for(String arg: args) {
System.out.print(", " + arg);
}
}
Run Code Online (Sandbox Code Playgroud)
正如评论部分所述:
另请注意,如果函数传递的值不同于varargs参数的其他参数,则vararg参数应该是函数声明public void test(Typev ... v,Type1 a,Type2 b)或public void test(Type1 )中的最后一个参数.a,Typev ... v recipientJids,Type2 b) - 是非法的.仅公开无效测试(Type1 a,Type2 b,Typev ... v)