1. 程式人生 > 實用技巧 >可變引數:適用於引數個數不確定,型別確定的情況

可變引數:適用於引數個數不確定,型別確定的情況

Java1.5增加了新特性:可變引數:適用於引數個數不確定,型別確定的情況,java把可變引數當做陣列處理。

注意:可變引數必須位於最後一項。

原因:當可變引數個數多餘一個時,必將有一個不是最後一項,所以只支援有一個可變引數。因為引數個數不定,所以當其後邊還有相同型別引數時,java無法區分傳入的引數屬於前一個可變引數還是後邊的引數,所以只能讓可變引數位於最後一項。

可變引數的特點:
(1)只能出現在引數列表的最後;

(2)...位於變數型別和變數名之間,前後有無空格都可以;

(3)呼叫可變引數的方法時,編譯器為該可變引數隱含建立一個數組,在方法體中以陣列的形式訪問可變引數。

簡單例子,用可變引數求多個數的和(個數不確定)
13
14
public class Varable {
public static void main(String[] args) {
System.out.println(add(2, 3));
System.out.println(add(2, 3, 5));
}

public static int add(int x, int... args) {
    int sum = x;
    for (int i = 0; i < args.length; i++) {
        sum += args[i];
    }
    return sum;
}

}