Java可變引數應用實操
阿新 • • 發佈:2018-12-27
有時候會對某個函式的入參無法確定輸入個數,這個時候就需要使用可變引數,先來看看是如何使用的。
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]); }