2010-11-18 33 views

回答

35

Java Varargs

就像這個...

public void func(String ... strings) { 
    for (String s : strings) 
     System.out.println(s); 
} 

請注意,如果你想需要的一些參數最少數量必須被傳遞給函數,同時還允許可變參數,你應該做這樣的事情。舉例來說,如果你有一個需要至少一個字符串的函數,然後可變長度的參數列表:

public void func2(String s1, String ... strings) { 

} 
+0

太棒了!感謝您的詳細解釋:) – ufk 2010-11-18 14:25:26

+0

如果我不知道參數的類型?我可以使用Object嗎? – ufk 2010-11-18 14:26:00

+1

是的,你可以... – aioobe 2010-11-18 14:28:14

6

正如其他人指出,你可以使用可變參數:

void myMethod(Object... args) 

這實際上是相當於:

void myMethod(Object[] args) 

事實上,編譯器將第一種形式轉換爲第二種 - 字節碼沒有區別。所有的參數必須是相同的類型,所以如果你想使用不同類型的參數,你需要使用Object類型並進行必要的轉換。

相關問題