Javaプログラミング 可変長引数¶
概要¶
メソッドの引数(複数あるときは最後の引数)を、可変長引数として定義することができます。void method1(String... args)
void method2(boolean b, int... values)
可変長引数の宣言には、型名に続けてエリプス (...) を記述します。0個以上の値のシーケンスを引数として渡すことができます。method1("alfa", "bravo", "charlie")
method1()
method2(true, 13, 17, 19)
method2(false)
メソッドの処理では、可変長引数は配列として扱います。
void method1(String... args) {
int numArgs = args.length;
String message;
if (numArgs == 2) {
message = args[0] + args[1];
}
:
可変長引数に null を1つだけ渡すと、コンパイル時警告が出され、メソッドに渡される配列の値は null となります。
null を2つ以上渡すと、配列の要素にnullが入りますが、型がプリミティブ型の場合 null を収容できないのでコンパイルエラーとなります。