可變參數(shù)時Java 1.5新增的方法,可變參數(shù)方法接收0個或者多個指定類型的參數(shù),可變參數(shù)機制通過先創(chuàng)建一個數(shù)組,數(shù)組的大小為在調(diào)用位置所傳遞的參數(shù)數(shù)量,然后將參數(shù)值傳到數(shù)組中,最后將數(shù)組傳遞給方法。如:
1
2
3
4
5
6
7
8
9
|
public class Test{ public int sum( int ... args) { int sum = 0 ; for ( int arg : args) { sum += arg; } return sum; } } |
可變參數(shù)提供了方便,但是使用可變參數(shù)時需要特別小心,可變參數(shù)方法的每次調(diào)用都會導致進行一次數(shù)組的分配和初始化,如果方法被多次調(diào)用對性能的影響會很大,但有一種方式可以適當?shù)慕獬@種問題。假設確定對某個方法95%的調(diào)用會有3個或者更少的參數(shù),就申明該方法的5個重載每個重載方法帶有0至3個普通參數(shù),當參數(shù)的數(shù)目超過3個時,就使用一個可變參數(shù)方法:
1
2
3
4
5
6
7
8
|
public class Test{ public void method(){} public void method( int a1){} public void method( int a1, int a2){} public void method( int a1, int a2, int a3){} public void method( int a1, int a2, int a3, int ... args){} } |
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:https://my.oschina.net/feinik/blog/842447