2011-11-14 41 views
0

我們來看下面的Java代碼片段。未知的Java語法

package common; 

final public class Main 
{ 
    private static void show(Object... args) //<--Here it is... 
    { 
     for(int i=0;i<args.length;i++) 
     { 
      System.out.println(args[i]); 
     } 
    } 

    public static void main(String[] args) 
    { 
     show(1, 2, 3, 4, 5, 6, 7, 8, 9); 
    } 
} 

Java中的上述代碼運作良好,並顯示數字通過控制檯上的唯一循環從1開始至9。這裏唯一的問題是上述代碼中(Object... args)的含義。

回答

6

三點符號是可變數量參數的語法,請看here

2

您正在使用Java的varargs表示法,該表示法允許將最終參數作爲數組或參數序列(不確定長度)傳遞。在你的情況,你將它們傳遞作爲參數的個數序列:

show(1, 2, 3, 4, 5, 6, 7, 8, 9); 

...但你也可以通過他們這樣的:

show(new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9}); 

不支持此功能,你會或者需要接受方法簽名中的數組(並且總是通過數組中的輸入)或指定固定數量的參數。