プロジェクト

全般

プロフィール

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 を収容できないのでコンパイルエラーとなります。


8ヶ月前に更新