【Java】列挙型(enum)について(定義方法や使い方について)

Java

はじめに

今回はjavaの「列挙型(enum)」の使い方について、勉強したことを記載していきたいと思います。

 

列挙型とは

列挙型は、複数の定数(列挙子)をまとめて管理することができる機能のことです。

 

定義

アクセス修飾子 enum 列挙型名 {
    列挙子名, 列挙子名, 列挙子名;

    // コンストラクタやメソッドや変数を定義することを可能
}

 

package Constant;

public enum Days {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRYDAY, SATURDAY
}
    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        System.out.println(Days.FRYDAY);
    }

 

コンストラクタを設定

コンストラクタとgetterを設定することで、列挙子に対応する値の設定や取得も可能になります。

package Constant;

public enum Days {
    SUNDAY("日"), MONDAY("月"), TUESDAY("火"), WEDNESDAY("水")
    , THURSDAY("木"), FRYDAY("金"), SATURDAY("土");

    private String name;

    /**
     * 列挙子のコンストラクタ
     * @param name
     */
    private Days (String name) {
        this.name = name;
    }

    /**
     * 名称を返却
     * @return
     */
    public String getName() {
        return name;
    }
}
    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        System.out.println(Days.FRYDAY);
        System.out.println(Days.FRYDAY.getName());
    }

 

列挙型が持つメソッド

メソッド名 詳細
name() 列挙子の名前を取得する
toString() 列挙子の名前を取得する。オーバーライドで取得内容を変更可能
ordinal()
列挙子の順序番号を取得する
valueOf(String)
引数に設定する名前の列挙子を取得する
values()
全ての列挙子を定義順に取得する

 

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        System.out.println(Days.FRYDAY);
        System.out.println(Days.FRYDAY.name());
        System.out.println(Days.FRYDAY.toString());
        System.out.println(Days.FRYDAY.valueOf("SUNDAY"));

        for (Days day : Days.values()) {
            System.out.println(day.ordinal());
            System.out.println(day);
        }
    }

 

ドキュメント

【公式ドキュメント】
Java SE Specifications (oracle.com)

 

最後に

Javaの環境構築は、この記事を参照してみてください。
【開発環境構築】VS CodeでJavaを使用するための環境構築を実施する – SEもりのLog (selifemorizo.com)

以上、ログになります。
これからも継続していきましょう!!

Javaサーバーサイド関連
おすすめIT本
良いコード/悪いコードで学ぶ設計入門

「ITエンジニア本大賞2023」技術書部門で大賞を受賞した本です。
・コードの可読性
・普段意識したほうが良いこと
・リファクタリング考え方
等、普段のコードを設計する際に意識することが書かれています。
コードのあるべき姿に迷ったら一度読んでみると良い本です。

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん

Dockerって何?となったときに私が最初に読んだ本です。
Dockerがどんな仕組みで動いているのか、コマンドでは何を命令しているのかを理解できるように、イラストを多用して説明しています。

1冊ですべて身につくJavaScript入門講座

「ITエンジニア本大賞2024」技術書部門で大賞を受賞した本です。
私が次に読もうと思っている本なのでおすすめとして挙げておきたいと思います。

コメント

タイトルとURLをコピーしました