您好,登錄后才能下訂單哦!
java中的可變參數(shù)使用方法
可變參數(shù)時(shí)Java 1.5新增的方法,可變參數(shù)方法接收0個(gè)或者多個(gè)指定類型的參數(shù),可變參數(shù)機(jī)制通過先創(chuàng)建一個(gè)數(shù)組,數(shù)組的大小為在調(diào)用位置所傳遞的參數(shù)數(shù)量,然后將參數(shù)值傳到數(shù)組中,最后將數(shù)組傳遞給方法。如:
public class Test{ public int sum(int... args) { int sum = 0; for (int arg : args) { sum += arg; } return sum; } }
可變參數(shù)提供了方便,但是使用可變參數(shù)時(shí)需要特別小心,可變參數(shù)方法的每次調(diào)用都會(huì)導(dǎo)致進(jìn)行一次數(shù)組的分配和初始化,如果方法被多次調(diào)用對(duì)性能的影響會(huì)很大,但有一種方式可以適當(dāng)?shù)慕獬@種問題。假設(shè)確定對(duì)某個(gè)方法95%的調(diào)用會(huì)有3個(gè)或者更少的參數(shù),就申明該方法的5個(gè)重載每個(gè)重載方法帶有0至3個(gè)普通參數(shù),當(dāng)參數(shù)的數(shù)目超過3個(gè)時(shí),就使用一個(gè)可變參數(shù)方法:
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){} }
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。