56 可變引數列表

2021-10-03 07:23:18 字數 833 閱讀 1858

可變引數

* 可變引數是jdk1.5之後出現

一、 使用前提:

當方法的引數列表  資料型別  已經確定,但是引數的個數不確定,就可以使用可變引數。

二、使用格式:定義方法時使用

修飾符 返回值型別  方法名(資料型別...變數名){}

三、原理:

可變引數底層就是乙個陣列,根據傳遞引數個數不同,會建立不同長度的陣列,來儲存這些引數,傳遞引數的個數,可以是0(不傳遞),也可以是多個。

四、注意:

1、乙個方法的引數列表只能有乙個可變引數。

2、乙個方法有多個引數,可變引數必須放在引數列表最後面。

我們可以玩乙個特殊(終極方法)引數型別為object型別

public 返回值 方法名(object...引數名){}

public class varargs05 

public static int sum(string name, int...datap)

return 0;

}public static void objectmethod(object... obj)

}}

輸出結果:

**********=沒有可變引數**********=

[i@7530d0a

0**********=可變引數四個**********=

[i@27bc2616

4*************************====

abcdef12

3**********傳不同型別資料*****===

21abc

可變引數列表

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