2011/11/25

Javaの拡張構文

使うことは無いと思うけど,読むことはあるであろう構文について.
Javaでは以下のように,後にピリオドを3つつけた引数の宣言が可能.
 
void method(String... str) {
    for (String s : str){
        System.out.println(s);
    }
}

この場合
this.method("aaa", "bbb", "ccc"); 

this.method("aaa"); 
などと,任意の変数の個数を引数として,メソッドを呼び出すことが可能.
イチイチ配列に格納し直す手間が省けるという意味.
この書き方には,一つのメソッドに一つ,しかも最後の引数のみという制約がある.
考えたら当たり前な制約.

んで,
for (String s : str)
は,配列を1つずつ取り出して,sに入れるという意味.
foreachみたいなもん.こちらは使えそうだ.

0 件のコメント: