public static int[] concat(int[]... arrays) {
int length = 0;
for (int[] array : arrays) {
length += array.length;
}
答案 0 :(得分:4)
这样您就可以将单个int[]
对象传递给该方法,而不必担心没有参数。
写作时
public static int[] concat(int[]... arrays) {
现在您可以使用
之类的方法了Classname.concat(array1,array2,array3) //example1
Classname.concat(array1,array2) //example2
Classname.concat(array1,array2,array3,array4) //example3
明显的好处是您无需准备数组来传递方法。您可以直接传递该数组的值。
答案 1 :(得分:1)
这意味着concat
函数可以接收零个或多个整数数组(int[]
)。这就是为什么你可以遍历arrays
参数,访问每次迭代中包含的一个数组 - 如果有的话。这称为variable arguments (or varargs
)。
查看此other question了解详情。
答案 2 :(得分:1)
这意味着,您可以将零个,一个或多个int(int[]
)数组传递给您的方法。请考虑以下示例
public void method(String ... strings)
可以称为
method()
method("s")
method("s", "d")
所以你的方法可以被称为
concat()
concat(new int[0])
concat(new int[0], new int[0])
答案 3 :(得分:1)
这意味着您可以传递int[]
个对象的方法any number:
concat(new int[]{1,2});
concat(new int[]{1,2}, new int[]{3,4,5});
concat(new int[]{1}, new int[]{3,4,5,6}, new int[]{1,1,1,1,1,1,1});
为什么这有用?很清楚为什么:)
答案 4 :(得分:0)
...
是最重要的部分,它意味着您可以传入无限量的整数,只需通过数组访问它,因此您可以将其称为:
concat(1,2,3,4,5)
或concat(1)
大多数语言都有这种功能,有些人称之为var args,其他人称之为params。
答案 5 :(得分:0)
varargs(“...”)表示法基本上表明参数可以作为参数序列(此处为ints)或作为参数数组传递。在你的情况下,因为你的参数是“array of int”类型,它意味着参数可以作为一个数组序列或作为int数组的数组传递(注意,数组数组与Java中的多维数组相当)
答案 6 :(得分:0)
例如,你有一个方法:
void functionName (Object objects...)
{
Object object1=objects[0];
Object object2=objects[1];
Object object3=objects[2];
}
您可以将您的方法用作:
Object object1,object2,object3;
functionName(object1,object2,object3);
答案 7 :(得分:0)
<强> Using Variable Arguments 强>
省略号(...)标识可变数量的参数,和 用以下求和方法证明。
public static int[] concat(int[]... arrays)
使用方法
concat(val1, val2, val3);
concat(val1, val2, val3, val3);