當參數個數不確定時,開發者很想使用變長參數,讓調用者以更靈活的方式調用。此種方法和方法重載有同樣的效果,但是個人感覺比方法重載用着簡潔。一直知道Java支持變長參數函數,然而項目中一直沒有用到,前幾天在項目中看到前輩大量使用變長參數,感覺有很好的效果。特別是API設計中能夠解決很多不確定因素。下面是一個簡單的變長參數示例
變長參數使用的形式是Type...argsName,即 類型+省略號+參數名
Java代碼如下。
package varargsdemo;
/**
*
* @author hitdong
* @version 1.0
* @since 2010.1.1
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
/*
* 不傳遞參數
*/
printArgs();
System.out.println("--------------------------");
String arg1="This is the first args";
String arg2="This is the second args";
/*
* 並列地傳給多個參數
*/
printArgs(arg1,arg2);
System.out.println("--------------------------");
String[] argsArray = new String[]{
arg1,
arg2};
/*
* 以數組方式傳遞多個參數
*/
printArgs(argsArray);
System.out.println("--------------------------");
}
/*
*些函數接受類型爲String的個數可變的參數,形參varargs是個數組
*/
public static void printArgs(String...varargs){
int argsLength = varargs.length;
if(argsLength == 0){
System.out.println("Give no args");
}else{
System.out.println("the args number is:"+varargs.length);
}
for (int i = 0; i < argsLength; i++) {
System.out.println("args "+i+" is "+varargs[i]);
}
}
}
運行結果如下:
the args number is:2
args 0 is This is the first args
args 1 is This is the second args
--------------------------
the args number is:2
args 0 is This is the first args
args 1 is This is the second args
--------------------------
本文來自hi.baidu.com/yingnet,版權所有,轉載請註明出處,謝謝合作