你能幫我嗎? Java中int [] ...數組的含義是什麼? 例子:int [] ...數組在Java中的含義是什麼?
public static int[] concat(int[]... arrays) {
int length = 0;
for (int[] array : arrays) {
length += array.length;
}
你能幫我嗎? Java中int [] ...數組的含義是什麼? 例子:int [] ...數組在Java中的含義是什麼?
public static int[] concat(int[]... arrays) {
int length = 0;
for (int[] array : arrays) {
length += array.length;
}
這就是所謂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
一個明顯的好處是,你不需要準備數組傳遞的方法。您可以直接傳遞該數組的值。
的...
是最重要的部分,這意味着你可以在通過整數無限量的,它是通過數組剛剛訪問,所以你可以稱其爲:
concat(1,2,3,4,5)
或concat(1)
大多數語言都有這種功能,有些人稱之爲var args,其他人稱之爲params。
這意味着concat
函數可以接收零個或多個整數數組(int[]
)。這就是爲什麼你可以遍歷arrays
參數,訪問每個迭代中包含的數組之一 - 如果有的話。這被稱爲variable arguments (or varargs
)。
查看此other question瞭解更多信息。
這意味着,您可以將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])
這意味着,你可以通過該方法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});
這是爲什麼有用嗎?很明顯,爲什麼:)
varargs(「...」)表示法基本上通知參數可以作爲一系列參數(這裏是ints)或作爲參數數組傳遞。在你的情況下,因爲你的參數的類型是「int of array」,這意味着參數可以作爲一個數組序列或int數組來傳遞(注意,數組數組非常相當於Java中的多維數組) 。
比如你有一個方法:
void functionName (Object objects...)
{
Object object1=objects[0];
Object object2=objects[1];
Object object3=objects[2];
}
你可以用你的方法:
Object object1,object2,object3;
functionName(object1,object2,object3);
省略號(...)標識的變量數的論點,並且 在下面的求和方法中被演示。
public static int[] concat(int[]... arrays)
使用方法
concat(val1, val2, val3);
concat(val1, val2, val3, val3);
見http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html –
或者在這裏:HTTP:// mathbits .com/MathBits/Java/arrays/Declare.htm 聽起來像你需要從頭開始。順便說一句,我在幾秒鐘內搜索到了這個數據。你應該這樣做。 –
與'int [] []'相同 –