2013-12-18 84 views
2

你能幫我嗎? Java中int [] ...數組的含義是什麼? 例子:int [] ...數組在Java中的含義是什麼?

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

見http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html –

+1

或者在這裏:HTTP:// mathbits .com/MathBits/Java/arrays/Declare.htm 聽起來像你需要從頭開始。順便說一句,我在幾秒鐘內搜索到了這個數據。你應該這樣做。 –

+0

與'int [] []'相同 –

回答

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 

一個明顯的好處是,你不需要準備數組傳遞的方法。您可以直接傳遞該數組的值。

0

...是最重要的部分,這意味着你可以在通過整數無限量的,它是通過數組剛剛訪問,所以你可以稱其爲:

concat(1,2,3,4,5)concat(1)

大多數語言都有這種功能,有些人稱之爲var args,其他人稱之爲params。

1

這意味着concat函數可以接收零個或多個整數數組(int[])。這就是爲什麼你可以遍歷arrays參數,訪問每個迭代中包含的數組之一 - 如果有的話。這被稱爲variable arguments (or varargs)

查看此other question瞭解更多信息。

1

這意味着,您可以將0,一個或多個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])
  • ...
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}); 

這是爲什麼有用嗎?很明顯,爲什麼:)

0

varargs(「...」)表示法基本上通知參數可以作爲一系列參數(這裏是ints)或作爲參數數組傳遞。在你的情況下,因爲你的參數的類型是「int of array」,這意味着參數可以作爲一個數組序列或int數組來傳遞(注意,數組數組非常相當於Java中的多維數組) 。

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); 
0

Using Variable Arguments

省略號(...)標識的變量數的論點,並且 在下面的求和方法中被演示。

public static int[] concat(int[]... arrays) 

使用方法

concat(val1, val2, val3); 
concat(val1, val2, val3, val3); 
相關問題