HOWTO · Java

Java の省略記号

このチュートリアルでは、Java の省略記号について説明します。

Ellipsis は、新しいプログラマーが学ぶ必要がある珍しい Java 構文です。 経験豊富なプログラマーでさえ、あまり経験がありません。

同じデータ型の変数がいくつかあり、それらをメソッドに渡したい場合、これは非常に簡単です。

このように、すべての変数を 1つずつ受け取る必要はありません。 メソッド内に ... を含め、メソッド内にすべての変数を含める必要があります。

この記事では、Ellipsis または ... の使用について説明します。 また、トピックをより簡単にするために、必要な例と説明を使用してトピックを説明します。

省略記号または Java の ...

以下の例では、Java プログラムで Ellipsis または ... を使用する方法を示します。 コードは次のようになります。

class Ellipsis {
  int Sum(int... numbers) {
    int Sum = 0;
    for (int number : numbers) {
      Sum += number;
    }

    return Sum;
  }

  public static void main(String[] args) {
    Ellipsis elp = new Ellipsis();
    System.out.println("The sum is: " + elp.Sum());
    System.out.println("\nThe sum is: " + elp.Sum(2, 2));
    System.out.println("\nThe sum is: " + elp.Sum(9, 7, 10, 9, 10));
  }
}

上記の例では、最初に Ellipsis という名前のクラスを作成しました。 その後、Sum という名前のメソッドを作成し、... を使用してすべての数値を渡しました。

クラスのオブジェクトを作成し、値を指定してメソッドを呼び出しました。 最後に、必要な値をすべて出力します。

上記の Java プログラムを実行すると、次のような出力が得られます。

The sum is: 0
The sum is: 4
The sum is: 45

ここで 1つの重要な注意点として、Ellipsis の使用は、同じデータ型の変数がある場合にのみ機能します。

そうしないと、エラーが表示される場合があります。 また、以下のようなオーバーロードを作成しないでください。

Java での Ellipsis または ... の誤用

以下に、Ellipsis または ... を誤用した場合のエラーの例を示します。 以下のコードを見てください。

class Ellipsis {
  int Sum(int a, int... numbers) {
    int sum = 0;
    for (int number : numbers) {
      sum += number;
    }

    return sum;
  }

  public static void main(String[] args) {
    Ellipsis elp = new Ellipsis();
    System.out.println("The sum is: " + elp.Sum() + "\n");
    System.out.println("\nThe sum is: " + elp.Sum(2, 2));
    System.out.println("\nThe sum is: " + elp.Sum(9, 7, 10, 9, 10));
  }
}

上記の例では、int Sum(int a, int... numbers){ 行でメソッド Sum() をオーバーロードしました。 これにより、実行時エラーが発生します。

上記のコードを実行しようとすると、次のようなエラーが発生します。

error: Class names, 'Ellipsis', are only accepted if annotation processing is explicitly requested
1 error

ここで共有されているコード例は Java であり、システムに Java が含まれていない場合は、環境に Java をインストールする必要があることに注意してください。