166

可変数のパラメーターを許可するメソッドを宣言することは可能ですか?

メソッドが可変数のパラメーターを許可する必要があることを示す定義で使用されている記号は何ですか?

答え:可変引数

4

6 に答える 6

298

そのとおりです。詳細については、Oracle ガイドの varargs を参照してください。

次に例を示します。

void foo(String... args) {
    for (String arg : args) {
        System.out.println(arg);
    }
}

として呼び出すことができます

foo("foo"); // Single arg.
foo("foo", "bar"); // Multiple args.
foo("foo", "bar", "lol"); // Don't matter how many!
foo(new String[] { "foo", "bar" }); // Arrays are also accepted.
foo(); // And even no args.
于 2010-02-25T01:27:46.650 に答える
18

はい、可能です:

public void myMethod(int... numbers) { /* your code */ }
于 2010-02-25T01:28:23.617 に答える
16
Variable number of arguments

メソッドには可変数の引数を渡すことができます。ただし、いくつかの制限があります。

  • 変数の数はすべて同じ型でなければなりません
  • それらはメソッド内で配列として扱われます
  • それらはメソッドの最後のパラメーターでなければなりません

これらの制限を理解するには、次のコード スニペットで、整数のリストで最大の整数を返すために使用されるメソッドを検討してください。

private static int largest(int... numbers) {
     int currentLargest = numbers[0];
     for (int number : numbers) {
        if (number > currentLargest) {
            currentLargest = number;
        }
     }
     return currentLargest;
}

ソース Oracle Certified Associate Java SE 7 Programmer Study Guide 2012

于 2014-09-05T08:51:35.140 に答える
6

うん... Java 5以降: http://java.sun.com/j2se/1.5.0/docs/guide/language/varargs.html

于 2010-02-25T01:27:48.400 に答える