int [] ...数组在Java中意味着什么?

时间:2013-12-18 09:06:40

标签: java arrays

你能帮帮我吗? int [] ...数组在Java中意味着什么? 例如:

public static int[] concat(int[]... arrays) {
int length = 0;
for (int[] array : arrays) {
    length += array.length;
}

8 个答案:

答案 0 :(得分:4)

这称为varargs.. notation

这样您就可以将单个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);