原文鏈接:Java可變長參數使用及注意事項
2020-01-16 19:10:05:226 星期四☁
[可變長參數,就是無限傳參數個數]
先說注意點:
1、寫法:方法名稱(類型…命名)。
2、傳入的參數爲數組類型。
3、當傳多參,一個方法只能有一個多參,並且保證的最後一位。
看以下場景:
/**
* 場景一:
* 方法的重載,根據參數不同
*/
private static int addParams(int a, int b) throws Exception {
return a + b;
}
private static int addParams(int a, int b, int c) throws Exception {
return a + b + c;
}
private static int addParams(int a, int b, int c, int d) throws Exception {
return a + b + c + d;
}
如果我們有5、6、7個參數?以及更多,我們還要繼續重載上面的方法嗎?
顯示不是,看改進。
/**
* 改進:
* 如何用多參改進?
*/
private static int addParams(int... a) throws Exception {
int result = 0;
for (int i : a) {
result += i;
}
return result;
}
//測試調用端
public static void main(String[] args) {
try {
//第一種調用方法
int[] a = {5, 6, 7, 8};
int addParams = addParams(a);
//第二種{這裏有補充,在下面}
addParams(5, 6, 7, 8);
System.out.println(addParams);
} catch (Exception e) {
e.printStackTrace();
}
}
以上爲簡單demo,用法如此,牢記注意事項。
補充:[也很重要]
當存在無限參數,與有限參數同名的方法時如:
addParams(5, 6, 7, 8);
他調用的是?無限參數方法,還是有限參數方法???呢
結論,調用的是有限參數方法。而不調用無限參數!!!
論證可以自己驗證,這裏不做驗證。
完結,記不住的東西,就背背,刻在骨髓裏,與血肉融合,變爲你的東西。