Java 可変長引数のメソッドのサンプル

Javaの可変長引数のメソッドのサンプルです。

目次

可変長引数のメソッド

メソッド名(引数の型... 変数)
  • メソッドの引数の数を可変にできます。
  • 引数の型の後ろにピリオドを3つ「...」つけます。
  • 可変長引数の変数は、1つのみ指定できます。
  • 可変長引数の変数は、配列です。
  • 可変長引数の変数は、引数の末尾にのみ指定できます。

コード

可変長引数のメソッドのサンプルです。

package test1;

class Sample1{
    // メソッド
    static void print1(String... colors){

        for (String c : colors) {
            System.out.println(c);
        }
    }
}
public class Test1 {
    public static void main(String[] args) {

        // メソッドを呼ぶ側
        Sample1.print1("あ"); //あ
        Sample1.print1("い","う"); //い う
        Sample1.print1(); //出力なし
    }
}

5行目は、可変長引数です。String型の後ろにピリオド「…」が3つ付いています。
16行目のメソッドの引数の数は1つです。
17行目のメソッドの引数の数は2つです。
18行目は、引数をなしにしています。エラーにはなりません。

 

通常の引数と可変長引数がある場合

通常の引数と可変長引数がある場合のサンプルです。

package test1;

class Sample2{
    // メソッド
    static void print1(int i,String... colors){

        for (String c : colors) {
            System.out.println(i + c);
        }
    }
}
public class Test1 {
    public static void main(String[] args) {

        // メソッドを呼ぶ側
        Sample2.print1(1,"A"); //1A
        Sample2.print1(2,"B","C"); //2B 2C
        Sample2.print1(3);  //出力なし
    }
}

5行目は、末尾の引数が可変長引数です。
16行目は、"A"が可変長引数にあたります。
17行目は、"B"と"C"が可変長引数にあたります。
18行目は、可変長引数をなしにしています。エラーにはなりません。

関連の記事

Java 拡張for文のサンプル
Java if文のサンプル
Java for文のサンプル(break/continue/ラベル)
Java switch文のサンプル
Java while文とdo...while文のサンプル
Java入門 クラスの仕組みとサンプル
Java クラスの継承の仕組みとサンプル

△上に戻る