下面是一個簡單的小程式:
複製代碼代碼如下:
import java.util.Arrays;
class lesson6
{
public static void main(String[] args)
{
int array[]={2,3,1,5,4,6};
System.out.println(Arrays.toString(array));
System.out.println(getSum(array));
//System.out.println(getSum(2,3,1,5,4,6));
}
static int getSum(int array[])//計算元素總和
{
int sum=0;
for(int i=0;i<array.length;i++)
sum+=array[i];
return sum;
}
}
其中getSum(int array[])方法的宣告就限定了它只能接受一維int型別的陣列。如果我們現在試圖運行第十行(被註解的那行),這樣肯定會出錯。這種方法的宣告方式特別在不知道要傳入參數個數時候,缺點比較明顯。
從Java5開始,出現了可變參數。特徵為:參數個數可變,可以傳遞0到N個;必須為方法最後一個參數;呼叫可變參數的方法時,編譯器為此可變參數隱含建立一個數組,在方法體中一數組的形式存取可變參數。
我們將上面程式碼的註解取消,並將getSum(int array[])改為getSum(int ... array)來實現我們想要的結果。獲得結果如下:
由下方的兩次輸出21可得,getSum(int ... array)成功的接受了2種不同的資料個數的傳入。
另外在實際編程中需要特別注意的一點,可變參數必須為方法最後一個參數。大家可以對上面程式碼進行簡單改動進行試驗。