Javaチュートリアル

Javaホーム Javaイントロ Javaはじめに Java構文 Javaコメント Java変数 Javaデータ型 Java型キャスト Java演算子 Java文字列 Java数学 Javaブール値 Java If ... Else Javaスイッチ JavaWhileループ JavaForループ Javaブレーク/続行 Java配列

Javaメソッド

Javaメソッド Javaメソッドパラメータ Javaメソッドのオーバーロード Javaスコープ Java再帰

Javaクラス

Java OOP Javaクラス/オブジェクト Javaクラス属性 Javaクラスメソッド Javaコンストラクタ Java修飾子 Javaカプセル化 Javaパッケージ/ API Javaの継承 Javaポリモーフィズム Java内部クラス Java抽象化 Javaインターフェイス Java列挙型 Javaユーザー入力 Java日付 Java ArrayList Java LinkedList Java HashMap Java HashSet Javaイテレータ Javaラッパークラス Javaの例外 Java RegEx Javaスレッド Javaラムダ

Javaファイル処理

Javaファイル Javaのファイルの作成/書き込み Java読み取りファイル Javaファイルの削除

Javaハウツー

2つの数字を追加する

Javaリファレンス

Javaキーワード Java文字列メソッド Java数学メソッド

Javaの例

Javaの例 Javaコンパイラ Java演習 Javaクイズ Java証明書


Java列挙型


列挙型

Anは、定数のグループ(変数などの変更できない変数)enumを表す特別な「クラス」です final

を作成するには、 (クラスまたはインターフェイスの代わりに)キーワードenumを使用し、定数をコンマで区切ります。enumそれらは大文字でなければならないことに注意してください:

enum Level {
  LOW,
  MEDIUM,
  HIGH
}

ドット構文を使用enumして定数にアクセスできます。

Level myVar = Level.MEDIUM;

列挙型は「列挙型」の略で、「具体的にリストされている」ことを意味します。


クラス内の列挙型

enumクラス内に含めることもできます。

public class Main {
  enum Level {
    LOW,
    MEDIUM,
    HIGH
  }

  public static void main(String[] args) {
    Level myVar = Level.MEDIUM; 
    System.out.println(myVar);
  }
}

出力は次のようになります。

MEDIUM

Switchステートメントの列挙型

switch列挙型は、対応する値をチェックするためにステートメントでよく使用されます。

enum Level {
  LOW,
  MEDIUM,
  HIGH
}

public class Main {
  public static void main(String[] args) {
    Level myVar = Level.MEDIUM;

    switch(myVar) {
      case LOW:
        System.out.println("Low level");
        break;
      case MEDIUM:
         System.out.println("Medium level");
        break;
      case HIGH:
        System.out.println("High level");
        break;
    }
  }
}

出力は次のようになります。

Medium level

列挙型をループする

列挙型には、values()すべての列挙定数の配列を返すメソッドがあります。このメソッドは、列挙型の定数をループする場合に役立ちます。

for (Level myVar : Level.values()) {
  System.out.println(myVar);
}

出力は次のようになります。

LOW
MEDIUM
HIGH

列挙型とクラスの違い

enum缶は、と同じようにclass属性とメソッドを持っています。唯一の違いは、列挙型定数が、、publicおよびstaticfinal 変更不可-オーバーライドできない)であることです。

を使用してオブジェクトを作成したり、他のクラスを拡張したりするenumことはできません(ただし、インターフェイスを実装することはできます)。

列挙型を使用する理由と時期

月の日、日、色、トランプのデッキなど、変更されないことがわかっている値がある場合は、列挙型を使用します。