Java の省略記号

MD Aminul Islam 2023年10月12日
  1. 省略記号または Java の ...
  2. Java での Ellipsis または ... の誤用
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 をインストールする必要があることに注意してください。

著者: MD Aminul Islam
MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn