JDK5.0新特性的學習--可變長引數

xuehongliang發表於2007-06-29

有時候,我們傳入到方法的引數的個數是不固定的,為了解決這個問題,我們一般採用下面的方法:

1. 過載,多過載幾個方法,儘可能的滿足引數的個數。顯然這不是什麼好辦法。

2. 將引數作為一個陣列傳入。雖然這樣我們只需一個方法即可,但是,為了傳遞這個陣列,我們需要先宣告一個陣列,然後將引數一個一個加到陣列中。
現在,我們可以使用可變長引數解決這個問題。

宣告可變長引數方式如下:

public void mymethod(String arg1,Object… args)

也就是使用…將引數宣告成可變長引數。

顯然,可變長引數必須是最後一個引數。
例子:

java 程式碼
  1. public class Demo {
  2. public void spark(String key,Object... args){
  3. for(Object o : args){
  4. System.out.println(o);
  5. }
  6. }
  7. public static void main(String[] args){
  8. Demo d = new Demo();
  9. d.spark("key1", "value1111111");
  10. d.spark("key2", "value1111111","value222222");
  11. d.spark("key3", "value1111111","value222222","value3333333");
  12. }
  13. }


注意:在研究變長引數的時候,我有一個同事說Object後有幾個"."就有幾個引數,經過驗證他是錯的,可以有N多個.

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/800861/viewspace-922108/,如需轉載,請註明出處,否則將追究法律責任。

相關文章