概念:
jdk5.0出現的新特性。將同一個類中,多個方法名相同、參數類型相同、返回類型相同,僅僅是參數個數不同的方法抽取成一個方法,這種方法稱為可變參數的方法
好處:
提高代碼的重用性和維護性
語法:
修飾符 返回類型 方法名(參數類型... 參數名){
... ...
}
注意:使用時,將可變長度的參數當做數組使用,等價於:
修飾符 返回類型 方法名(參數類型[] 參數名){
... ...
}
(所以可變參數不可重載成一維數組)
例:
public class VarargsDemo { public static void main(String args[]) { // 調用可變參數的方法 printMax(34, 3, 3, 2, 56.5); printMax(new double[]{1, 2, 3}); } public static void printMax( double... numbers) { if (numbers.length == 0) { System.out.println("No argument passed"); return; } double result = numbers[0]; for (int i = 1; i < numbers.length; i++){ if (numbers[i] > result) { result = numbers[i]; } } System.out.println("The max value is " + result); } }
使用特點:
1、可變參數的實參可以為0個或任意多個,當為0個參數時傳入長度為0的數組:double[0]
2、可變參數的實參可以為一維數組類型
3、可變參數和普通類型參數 一起使用時,只能放在最后
4、一個參數列表中至多有一個可變參數!