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