6

重複の可能性:
このメソッド シグネチャの省略記号 (…) は何ですか?
java: 任意の数のパラメーターをサポートする関数を作成するにはどうすればよいですか?

さて、私はいくつかの例を理解しようとしていますが、メイン メソッドでこの種の引数の配列定義を見つけました。この "..." の何が特別なのですか? 通常の String[] 引数との違いは何ですか?

ありがとう

4

4 に答える 4

7

これは、可変長引数リストに対する Java 5 の表記法です。これは文字列配列とほぼ同じですが、配列に自動的に結合される個々のパラメーターを渡すことができます。

void mymethod(String... a) {
    for (String s : a) {
        ...
    }
}

mymethod("quick", "brown", "fox");

これは、プログラムからメソッドを呼び出す場合にのみ意味があるため、main() でこの構文を使用することが望ましい理由がわかりません。ただし、機能します。

于 2012-05-03T01:25:10.640 に答える
3

省略記号 (...) は可変引数です。これらは、任意の数の引数を持つメソッドを作成する場合に使用されます。Oracle では、varargs がどのように機能するかについて詳しく説明しています

于 2012-05-03T01:27:31.467 に答える
2

これは varargs と呼ばれ、その型 ( String) の任意の数の引数を渡すことができることを意味します。

1.最終位置にある必要があります

2.配列として処理されます

于 2012-05-03T02:20:50.523 に答える
1

... 可変引数に使用されます。

例えば

public void myMethod(Object... params) { }

params 変数はオプションであり、オブジェクトの null 許容配列として扱われます。

于 2012-05-03T03:12:13.117 に答える