| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

SJC-P 可変長引数

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

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 機能などがある
  • 一般的に、可変引数を使用するメソッドはオーバーロードしないようにする。オーバーロードすると、どのオーバーロードが呼び出されたのかわかりにくくなる。

{{include_html banner_html, "!SJC-P"}}