Java入門

【Java入門】列挙型(enum)

2021年5月10日

はじめに

前回の記事では、Javaのstatic変数とstaticメソッドについて紹介しました。

本記事では、Javaの列挙型について紹介します。

列挙型(enum)とは

列挙型とは、関連する定数をひとまとめにしておくことができる型です。

定数とは

定数とは、値が変化しないものであり、次のようにfinal修飾子を用いて定義します。

public static final String ORANGE = "Orange";
public static final String GRAPE = "Grape";
public static final String APPLE = "Apple";

値を後から自由に変更できる変数に対して、定数は1度しか値を代入することができません。

すでに値を代入している定数にもう一度、別の値を代入しようとするとコンパイルエラーが発生します。

スポンサーリンク

列挙型(enum)の使い方

列挙型は次のように「enum」を使って定義します。そして、カンマ区切りで定数を列挙します。

enumの例

そして、列挙型を使うときは「列挙型名.定数」のように指定します。

列挙型の使い方

なぜ列挙型(enum)を使うのか?

列挙型を使うメリットはなんですか?定数を使えばいいような・・・
列挙型には次のようなメリットがあります。

例えば、次のように「Orange」「Grape」「Apple」の定数があるとします。

[定数で管理した場合の例]

public static final String ORANGE = "Orange";
public static final String GRAPE = "Grape";
public static final String APPLE = "Apple";

[列挙型で管理した場合の例]

public enum Fruits {Orange, Grape, Apple}

定数ではなく、列挙型で管理することで関連する複数の定数を1つの型で管理することができます。

そして、列挙型で管理することで使用可能な定数を明確化することができます。

上記の例では、列挙型「Fruits」に関係する定数は「Orange」「Grape」「Apple」の3つであることが明確化されています。

列挙型のメリット

列挙型(enum)の実装例

それでは、実際にソースコードで 列挙型 の使用例を紹介します。

次の例では、列挙型「Fruits」に「Orange」「Grape」「Apple」の定数を定義しています。

[列挙型の例]

public enum Fruits {
    /**
     * オレンジ
     */
    Orange,
    /**
     * ぶどう
     */
    Grape,
    /**
     * りんご
     */
    Apple
}

そして、switch文を使ってswitch文の条件がどの定数と一致しているかを確認しています。

[プログラムの実行]

public class SampleMain {
    
    public static void main(String[] args) {
        Fruits fruits = Fruits.Orange;
        
        switch(fruits){
            case Orange:
                System.out.println("オレンジです。");
                break;
            case Grape:
                System.out.println("ぶどうです");
                break;
            case Apple:
                System.out.println("りんごです。");
                break;
        }
    }
}

[実行結果]

オレンジです。
列挙型を使うことで、コードが読みやすくなり間違えにくいプログラムを書くことができます。

終わりに

本記事では、Javaの列挙型について紹介しました。

次回の記事では、Javaの例外について紹介します。

helpful