はじめに
今回は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)
以上、ログになります。
これからも継続していきましょう!!

 
  
  
  
  
コメント