參數類型…… 形參名

1.1 可變參數

在JDK1.5之後,如果我們定義一個方法需要接受多個參數,並且多個參數類型一致,我們可以對其簡化成如下格式:

修飾符 返回值類型 方法名(參數類型... 形參名){ }

其實這個書寫完全等價與

修飾符 返回值類型 方法名(參數類型[] 形參名){ }

只是後面這種定義,在調用時必須傳遞數組,而前者可以直接傳遞數據即可。

jdk1.5以後。出現了簡化操作。... 用在參數上,稱之為可變參數。

同樣是代表數組,但是在調用這個帶有可變參數的方法時,不用創建數組(這就是簡單之處),直接將數組中的元素作為實際參數進行傳遞,其實編譯成的class文件,將這些元素先封裝到一個數組中,在進行傳遞。這些動作都在編譯.class文件時,自動完成了。

Advertisements

代碼演示:

publicclass ParamDemo {

publicstaticvoid main(String[] args) {

int[] arr = {21,89,32};

int sum = add(arr);

System.out.println(sum);

sum = add(21,89,32);//可變參數調用形式

System.out.println(sum);

}

//JDK1.5之後寫法

publicstaticint add(int...arr){

int sum = 0;

for (int i = 0; i < arr.length; i++) {

sum += arr[i];

Advertisements

}

return sum;

}

//原始寫法

}

上述add方法在同一個類中,只能存在一個。因為會發生調用的不確定性

注意:如果在方法書寫時,這個方法擁有多參數,參數中包含可變參數,可變參數一定要寫在參數列表的末尾位置。

Advertisements

你可能會喜歡