溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java中的可變參數(shù)使用方法

發(fā)布時(shí)間:2020-10-02 00:12:29 來源:腳本之家 閱讀:172 作者:FEINIK 欄目:編程語言

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ì)本站的支持!

向AI問一下細(xì)節(jié)

免責(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)容。

AI