java程式設計思想 可變引數列表

2021-08-17 20:03:52 字數 413 閱讀 5843

1.5版本的新特性,就是你想定義乙個方法,但是不知道以後要用的時候想傳幾個引數進去,比如求和,你想定義乙個傳幾個int資料都能給你算出和的方法,可以在方法的引數列表中這樣寫(引數型別... 陣列名),然後在方法內部直接用運算元組的方式操作。在你呼叫的時候可以隨便傳幾個引數進去,jvm都能將這些資料封裝成乙個陣列,然後按照你方法內的操作進行操作。

舉我上面說的求和的例:

public static int sum(int... arr)

這個時候,如果在呼叫這個方法傳值的時候,你傳乙個add(1,2,3,4,5,6),jvm不知道你最後兩個是a和b,他會一起封裝到arr陣列中,後面的兩個引數預設,為了避免這種錯誤,編譯器直接不讓你這麼定義。把格式封死,可變引數必須定義到最後面,即使你引數列表中的型別不一致,就是說不會發生上述的錯誤,也不行。

可變引數列表

模擬實現printf函式 va list是在c語言中解決變參問題的一組巨集,所在標頭檔案 include 用於獲取不確定個數的引數 va start,函式名稱,讀取可變引數的過程其實就是在堆疊中,使用指標,遍歷堆疊段中的引數列表,從低位址到高位址乙個乙個地把引數內容讀出來的過程 va arg,這個巨...

可變引數列表

小二,上 class a public class varargs two param static void twostringparam string a,string b three param 參照上兩種寫法,一直往後面加。是不是感覺很憂傷 幸好這不是真的。string.a static v...

可變引數列表

測試環境 vs2008 1 可變引數列表 為什麼需要可變引數呢?在函式原型中,列出了函式期望接受的引數,原型只能顯示固定數目的引數,如果函式原型列出的引數與可呼叫引數不匹配或數目不一樣,程式將無法執行。例如,我們想要求一系列值的平均值,這裡的一系列的數目是不確定的,如果這些值儲存於陣列中,這個任務就...