可変長引数とは?
可変長引数は、メソッドに渡す引数の数を自由に変えられる便利な機能です。1つでも複数でも、好きな数だけ引数を渡せます。引数の数が事前に決まっていない場合に、特に役立ちます。
可変長引数の宣言方法
void sample(int... num) {}
というように、引数の型の最後に…とピリオドを3つつけて宣言します。
可変長引数の注意点
可変長引数はメソッド内で配列として扱われます。そのため、同じ型の引数はまとめて扱うことができますが、異なる型はまとめられません。
可変長引数以外にも引数を受け取る必要がある場合、可変長引数を記述する順番は最後でなければなりません。なぜなら、どこまでが1番目の引数でどこからが2番目の引数なのか判断できないからです。
void sample(int... a, int b) {} // aとbの区別がつかないためコンパイルエラー
void sample(int c, int... d) {} // 1番目はc、2番目以降はdと判別できるため実行可能