2011-11-14 16 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

3ドット表記は、可変数の引数の構文です。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}); 

、この機能のサポートがなければ、と思いますメソッドシグネチャ内の配列を受け入れる必要があり(または配列内の入力を常に渡す)、固定数のint引数を指定する必要があります。