トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

SJC-P 可変長引数



目次



記事一覧

キーワード

SJC-P 可変長引数

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/language/varargs.html

書式

  • 宣言
    • 3 つのピリオドを最後の引数の型の後に続ける(1)
    • 最後のパラメータとしてのみ利用可能(2)
    • 他のパラメータと併用できる(3)
  • 配列、または一連の引数として渡される(4)
package vararg;

public class VarArgTest1 {

    public static void main(String[] args) {
        VarArgTest1 me = new VarArgTest1();
        me.intVarArg("numbers are", 1,3,5,7,9);
    }
    
    // 3 つのピリオドを最後の引数の型の後に続ける(1)
    // 最後のパラメータとしてのみ利用可能(2)
    // 他のパラメータと併用できる(3)
    public void intVarArg(/*double... d,*/ String msg, int... args) {
        // 配列、または一連の引数として渡される(4)
        if (args instanceof int[]) {
            System.out.println("int... args is int array.");
        }
        System.out.println(msg);
        for(int i : args) {
            System.out.println(i);
        }
    }
}


利用法、注意点
  • コア API で使用する重要な場合としては、リフレクト、メッセージ書式指定、新しい printf 機能などがある
  • 一般的に、可変引数を使用するメソッドはオーバーロードしないようにする。オーバーロードすると、どのオーバーロードが呼び出されたのかわかりにくくなる。


指定されたパートは存在しません。



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.