English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Javaでは、エnumのコンストラクタで別のエnum値を呼び出す方法は何ですか?

Javaのエnum(enum)は、一定の常量値を格納するデータ型です。エnumを使用して、週の曜日、年の中の月など、固定値を格納できます。

キーワードを使用して enum 定義エnum、に続いてエnum の名前は-

enum Days {
   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

エnumのメソッドおよび変数

エnumはクラスに似ており、変数、メソッド(具体的なメソッドのみ)およびコンストラクタを含むことができます。

エnumの要素値として以下のものがあります-

enum Scoters {
   ACTIVA125(80000), ACTIVA5G(70000), ACCESS125(75000), VESPA(90000), TVSJUPITER(75000);
}

コンストラクタを定義するには、まず値を保存するインスタンス変数を宣言する必要があります。

private int price;

次に、上で作成したインスタンス変数を初期化するパラメータ化のコンストラクタを宣言します。

Scoters (int price) {
   this.price = price;
}

別のエnumの値でエnumを初期化します

別のエnumの値でエnumを初期化します。

  • 必要なエnumをインスタンス変数として宣言します。

  • パラメータ化のコンストラクタを使用して初期化します。

import java.util.Scanner;
enum State{
   Telangana, Delhi, Tamilnadu, Karnataka, Andhrapradesh
}
enum Cities {
   Hyderabad(State.Telangana), Delhi(State.Delhi), Chennai(State.Tamilnadu), Banglore(State.Karnataka), Vishakhapatnam(State.Andhrapradesh);
   //インスタンス変数
   private State state;
   //コンストラクタでインスタンス変数を初期化する
   Cities(State state) {
      this.state = state;
   }
   //国を表示する/地域の静的メソッド
   public static void display(int model){
      Cities constants[] = Cities.values();
      System.out.println("State of: ")+constants[model]+" is "+constants[model].state);
   }
}
public class EnumerationExample {
   public static void main(String args[]) {
      Cities constants[] = Cities.values();
      System.out.println("Value of constants: ");
      for(Cities d: constants) {
         System.out.println(d.ordinal())+: ""+d);
      }
      System.out.println("Select one model: ");
      Scanner sc = new Scanner(System.in);
      int model = sc.nextInt();
      //列挙の静的メソッドを呼び出す
      Cities.display(model);
   }
}

出力結果

常数の値:
0: Hyderabad
1: Delhi
2: Chennai
3: Bangalore
4: Vishakhapatnam
Select one model:
2
State of: Chennai is Tamilnadu

おすすめのコンテンツ