java 可變長引數

2021-09-01 10:02:27 字數 639 閱讀 3752

有時候,我們傳入到方法的引數的個數是不固定的,為了解決這個問題,我們一般採用下面的方法:

1.過載,多過載幾個方法,盡可能的滿足引數的 個數。顯然這不是什麼好辦法。

2.將引數作為乙個陣列傳入。雖然這樣我 們只需乙個方法即可,但是,為了傳遞這個陣列,我們需要先宣告乙個陣列,然後將引數乙個乙個加到數 組中。

現在,我們可以使用可變長引數解決這個問題。

宣告可變長引數方式如下:

public void mymethod (stringarg1,object… args)

也就是使用…將引數宣告成可變長引數。

顯然,可變長引數必須是最後乙個引數。

請看 下面唐僧師傅給悟空講佛經的例子:

package com.ywz;

public class varargs

}public static void main(string args)

}

結果

人和妖精都是媽生的,

不同的人是人他媽生的,

妖是妖他媽生的,

這個方法很好的解決了我們傳遞不確定個數的引數.當然 object... arguments中的object 也可以換成自己寫的類.

可變長引數

由於在c語言中沒有函式過載,解決不定數目函式引數問題變得比較麻煩,即使採用c 如果引數個數不能確定,也很難採用函式過載。對這種情況,提出了指標引數來解決問題。如printf 函式,其原型為 int printf const char format,它除了有乙個引數format固定以外,後面跟的引數的...

可變長引數

可變長引數 指的是在呼叫函式時,傳入的引數個數可以不固定 呼叫函式時,傳值的方式無非兩種,一種是位置實參,另一種是關鍵字實參,因此形參也必須得有兩種解決方法,以此來分別接收溢位的位置實參 與關鍵字實參 形參中的會將溢位的位置實參全部接收,然後儲存元組的形式,然後把元組賦值給後的引數。需要注意的是 後...

可變長引數

可變長引數 public class demo06 double.numbers 為可變長引數,如果有多個引數,那麼可變長引數只能放在最後,否則會出錯 在指定引數型別後加乙個省略號 則此引數為可變引數 乙個方法中只能指定乙個可變引數,它必須是方法的最後乙個引數,任何普通的引數必須在它之前宣告 pub...