Java的變參函數實作實際上參數是一個數組,其簡單用法如下
public class variableParamTest {
private static void variableParam(Object... args) {
for (Object v : args) {
System.out.print(v.toString() + " ");
}
System.out.println();
}
private static void variableParam2(int a, int... args) {
System.out.println("a: " + a);
System.out.print("variable params num: " + args.length);
public static void main(String[] args) {
variableParam(1, 2.0F, 3L, 'Z');
variableParam2('A', 2, 3, 4);
}
1 2.0 3 Z
a: 65
variable params num: 3
基于Java的根類是Object,我們可以将變參函數類型定義為Object,這樣就可以支援所有不同類型的變長參數,而且Java變參提供自動包裝功能,例如int->Integer, float->Float等等。
另外,我們可以将變參和非變參結合在一起使用,例如上例中的variableParam2(),另外變參函數的傳值允許為空。