2013年5月5日日曜日

[java]メソッドで配列化する

javaでその辺にある引数やローカル変数で配列を作る場合に、new 型[]{arg1, arg2,arg4};とするのが一般的です。
その他の方法として、可変長引数を使ってメソッド化する方法があります。コードはこんな感じ。
public static void main(String[] args) {
// Stringの場合
String[] stringArray = Converter.convert("a""b""c");
// 数値はラッパー型になる。intで処理できないのが残念。。。
Integer[] intArray = Converter.convert(123);
// オーバーロードすればそれなりに

}

public static class Converter {
static <T> T[] convert(T... args) {
    // テンプレート型指定でキャスト不要
    // 引数をそのまま返すだけ!
    return args;
}
この方式で何かいいことあるか?といわれると。。。とくにありません。

0 件のコメント: