Java可變參數應用實操

有時候會對某個函數的入參無法確定輸入個數,這個時候就需要使用可變參數,先來看看是如何使用的。

public class Test {
    /**
     * @param args
     */
    public static void main(String[] args) {
        try {
            uncertainParam("arg1","arg2","arg3");
        } catch (Exception e) {
            System.out.println(e.toString());
        }
        
    }

    public static void uncertainParam(String ...param){
    	for(int i=0; i<param.length; i++) {
    	    System.out.println(param[i]);
    	}
    }
}

執行完後輸出:

arg1
arg2
arg3

使用了可變參數後函數是否還能有其他的參數呢?答案是可以的,例如在可變參數前面加一個整型參數。

 /**
     * @param args
     */
    public static void main(String[] args) {
        try {
         uncertainParam(100, "arg1","arg2","arg3");
        } catch (Exception e) {
            System.out.println(e.toString());
        }
        
    }
    
    public static void uncertainParam(int size, String ...param){
     for(int i=0; i<param.length; i++) {
      System.out.println(param[i]);
     }
    
     System.out.println("the size is:"+size);
    }

執行完的結果:

arg1
arg2
arg3
the size is:100

如果在可變參數的後面增加參數會怎麼樣呢?Java編譯器會提示你可變參數必須位於最後一個參數。

通過前面的例子我們知道了可變參數是怎麼使用的,已經在使用的過程中要注意的一些約束。那麼可變參數到底是怎麼實現的呢?打開編譯後的java文件對應的class文件會發現,可變參數實際上是變成了一個數組。

  public static void uncertainParam(String[] param) {
    for (int i = 0; i < param.length; i++)
      System.out.println(param[i]);
  }





發佈了94 篇原創文章 · 獲贊 102 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章