「可変長引数」とは?
状態:-
閲覧数:1,980
投稿日:2013-10-17
更新日:2013-10-18
「可変引数メソッド」の引数
・指定された型の0個以上の引数を受け付ける
(メソッドを呼び出す側は、その型の引数をいくつでも書ける)
引数なしもOK
・呼び出す側の引数指定がない場合、要素が0個の配列として定義される
型
・引数の数は任意だが、引数のデータ型は一致する必要がある
・可変長引数の型情報としてジェネリック型を指定することも可能
数
・この可変引数は各メソッドにつき1つだけ、そのメソッドの最後の引数にだけ、指定可能
・引数の型の直後に「...」(ピリオド3つ)を付ける。※省略を意味するものではない
・J2SE 5.0 (2004年)から導入
・指定された型の0個以上の引数を受け付ける
(メソッドを呼び出す側は、その型の引数をいくつでも書ける)
特徴
引数なしもOK
・呼び出す側の引数指定がない場合、要素が0個の配列として定義される
与えられた可変長引数 | 受け取った側 |
---|---|
ない時 | 要素0個の配列 |
nullの時 | null |
型
・引数の数は任意だが、引数のデータ型は一致する必要がある
・可変長引数の型情報としてジェネリック型を指定することも可能
数
・この可変引数は各メソッドにつき1つだけ、そのメソッドの最後の引数にだけ、指定可能
書式
・引数の型の直後に「...」(ピリオド3つ)を付ける。※省略を意味するものではない
修飾子 戻り値の型 メソッド名(データ型... 変数名){
/* メソッド内で実行する処理 */
}
/* メソッド内で実行する処理 */
}
経緯
・J2SE 5.0 (2004年)から導入
動作確認用コード
コード例
import java.util.*;
public class Main {
public static void main(String args[]) {
//可変長引数のメソッドを呼び出す
Main.sample("A", "B", "C");
Main.sample("", "");
Main.sample();
Main.sample((String)null);
}
//可変長引数のメソッド
public static void sample(String... val) {
//引数の数を画面表示する
System.out.println("引数は" + val.length + "個です");
}
}
//処理結果
//引数は3個です
//引数は2個です
//引数は0個です
//引数は1個です