使用 Varargs 引數
使用 varargs 作為方法定義的引數,可以傳遞陣列或引數序列。如果傳遞了一系列引數,它們將自動轉換為陣列。
此示例顯示了一個陣列和一系列引數傳遞到 printVarArgArray()
方法,以及它們在方法內的程式碼中如何被相同地處理:
public class VarArgs {
// this method will print the entire contents of the parameter passed in
void printVarArgArray(int... x) {
for (int i = 0; i < x.length; i++) {
System.out.print(x[i] + ",");
}
}
public static void main(String args[]) {
VarArgs obj = new VarArgs();
//Using an array:
int[] testArray = new int[]{10, 20};
obj.printVarArgArray(testArray);
System.out.println(" ");
//Using a sequence of arguments
obj.printVarArgArray(5, 6, 5, 8, 6, 31);
}
}
輸出:
10,20,
5,6,5,8,6,31
如果你定義這樣的方法,它將給出編譯時錯誤
void method(String... a, int... b , int c){} //Compile time error (multiple varargs )
void method(int... a, String b){} //Compile time error (varargs must be the last argument