Java の... パラメータ
3つのドット ...
演算子は、一般に Varargs と呼ばれ、Variable-length Arguments
の略です。可変数の引数の使用を容易にするために、Varargs が JDK5 で導入されました。これまでは、オーバーロードを使用するか、引数を配列に配置する必要がありましたが、これは効率的ではありませんでした。次の例では、Varargs を最大限に活用する方法を説明します。
Varargs を使用して Java のメソッドで可変数の引数を受け入れる
このプログラムでは、functionWithVarArgs()
という静的メソッドを作成し、受信パラメーターのタイプを String
に設定し、その後に 3つのドットとパラメーター名 str
を設定します。これは、任意の数の String を渡すことができることを意味します。
引数を入力します。
functionWithVarArgs()
メソッド内に、すべての str
値を出力する拡張された for
ループを作成します。main()
関数では、最初に functionWithVarArgs()
関数に 4つの引数を渡し、次に 3つの引数を使用して同じ関数を再度呼び出します。出力には、渡されたすべての引数が表示されます。
public class Main {
public static void main(String[] args) {
functionWithVarArgs("String 1", "String 2", "String 3", "String 4");
functionWithVarArgs("String A", "String B", "String C");
}
static void functionWithVarArgs(String... str) {
for (String s : str) {
System.out.println(s);
}
}
}
出力:
String 1
String 2
String 3
String 4
String A
String B
String C
Java で複数のタイプの引数を使用して Varargs を使用する
Varargs を使用するために従わなければならないいくつかのルールがあります。最初のルールは、Varargs が最後の引数でなければならないということです。そうしないと、コンパイラーはエラーをスローします。2 番目のルールは、メソッドに複数の Varargs を含めることはできないということです。
次のコードでは、2つのタイプの引数を渡します。ここで、str
はタイプ String
であり、単一の引数にすぎません。メソッド functionWithVarArgs()
の最後の引数は、タイプ int
の Varargs です。ここで、main()
で、最初の引数を単一の値として関数を呼び出します。2 番目の引数は、Vargargs
であるため、可変長にすることができます。
public class Main {
public static void main(String[] args) {
functionWithVarArgs("String 1", 1, 2);
functionWithVarArgs("String A", 10, 20, 30, 40);
}
static void functionWithVarArgs(String str, int... num) {
for (int n : num) {
System.out.println(n);
}
}
}
出力:
1
2
10
20
30
40
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn