Java Silver合格への道 ~可変長引数~
スポンサーリンク
こんにちは。たろすです。
今回は可変長引数についてです。
可変長引数の使い方
public class Sample { public void method(int... values) { for (int value : values) { System.out.println(value); } System.out.println("------------"); } }
メソッドの引数に注目してください。
「int... values」と書かれています。
引数の型の直後に「...」を付けることで可変長引数にすることができます。
可変長引数として渡された引数は配列として扱われます。
このメソッドを実際に使ってみましょう。
public class Main { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ Sample sample = new Sample(); sample.method(1, 2, 3); sample.method(1, 2, 3, 4, 5); } }
// 出力 1 2 3 ------------ 1 2 3 4 5 ------------
引数に好きなだけ値を渡すことができます。
制約
可変長引数以外の引数も受け取る場合は、可変長引数が最後の引数になるようにしなければなりません。
例えば以下のようなプログラムはコンパイルエラーになります。
public void method(int... values, String str) { }
以下のように直しましょう。
public void method(String str, int... values) { }
可変長引数を二つ以上受け取るのもNGです。
おわりに
今回は可変長引数について説明しました。
配列を渡せば済む話なので、あまり使われているところは見たことありません。