Java SE5添加了可變參數列表特性
參數可以這樣定義,(Object…args)。可變參數用"..."來定義,args是可變參數的數組。舉個例子:
package sample;
class A{}
public class NewVarArgs {
static void printArray(Object...args){
for(Object obj:args)
System.out.print(obj+" ");
System.out.println();
}
public static void main(String[] args){
printArray(new Integer(47),new Float(3.14),new Double(11.11));
printArray(47,
printArray("one","two","three");
printArray(new A(),new A(),new A());
printArray((Object[])new Integer[]{1,2,3,4});
printArray();
}
}
輸出結果為:
47 3.14 11.11
47 3.14 11.11
one two three
sample.A@a90653 sample.A@de6ced sample.A@c17164
1 2 3 4
當指定可變參數後,對於給定的可變參數實參,編譯器會用這些實參去填充一個參數數組。這就是為什麼args可以用foreach去遍歷。但如果傳入的參數本身就是一個數組時,編譯器將接受這個數組作為可變參數列表,而不再為其外層包裝為一個新的數組。
Java中介者設計模式 http://www.linuxidc.com/Linux/2014-07/104319.htm
Java 設計模式之模板方法開發中應用 http://www.linuxidc.com/Linux/2014-07/104318.htm
設計模式之 Java 中的單例模式(Singleton) http://www.linuxidc.com/Linux/2014-06/103542.htm
Java對象序列化 http://www.linuxidc.com/Linux/2014-10/107584.htm