1. 程式人生 > >Java 變長引數Varargs

Java 變長引數Varargs

Varargs (variable arguments)可變長引數是Java 1.5引入的特性。

方法的形參如print(String ... s),實參為任意數目的值。

package semantics.statement;
public class VarargsDemo{
    public static void print(String ... s){
        for(String a: s)
            System.out.print(a);
    }
    public static void main(String[] args) {
        print("a", "\n");
        print("a", "b", "\n");
        print("a", "b","c\n");
    }    
}
輸出:

a
ab
abc

工作原理:

1.以呼叫方傳遞的引數的數目為長度建立一個數組;

2.將實參的值放入陣列中,

3.將陣列(的引用)傳遞給被調方法。

例子:

String.format(String format, Object... args)

反射機制中。【7.3.2中很多API用到了變長引數。不記得《程式設計導論》中講了變長引數沒有,補充一下先】

注意:

  • 變長引數要作為方法的最後的形參;
  • 避免過載編譯錯誤。