JAVA可變長參數
有時候,我們傳入到方法的參數的個數是不固定的,為了解決這個問題,我們一般采用下面的方法:
1.重載,多重載幾個方法,盡可能的滿足參數的 個數。顯然這不是什么好辦法。
2.將參數作為一個數組傳入。雖然這樣我們只需一個方法即可,但是,為了傳遞這個數組,我們需要先聲明一個數組,然后將參數一個一個加到數 組中。
現在,我們可以使用可變長參數解決這個問題。
聲明可變長參數方式如下:
public void mymethod (Stringarg1,Object… args)
也就是使用…將參數聲明成可變長參數。
顯然,可變長參數必須是最后一個參數。
請看 下面唐僧師傅給悟空講佛經的例子:
package com.ywz;
public class Varargs{
public void speak (String name,Object... arguments){
for(Object object : arguments) {
System.out.println(object);
}
}
public static void main(String[] args) {
Varargs va = new Varargs();
va.speak("悟空","人和妖精都是媽生的,");
va.speak("悟空","不同的人是人他媽生的,","妖是妖他媽生的,");
}
}
結果
這個方法很好的解決了我們傳遞不確定個數的參數.當然 Object... arguments中的Object 也可以換成自己寫的類.
對于for(Object object : arguments),為什么能這樣寫?
這樣的寫法,好像是在JAVA1.5中加入的新特性,也就是相當于:
for(int i=0;i<arguments.length;i++){
Object object = arguments[i];
}
知道怎樣用就行了.
posted on 2009-08-03 20:06 肥仔 閱讀(469) 評論(0) 編輯 收藏 引用 所屬分類: Web-后臺