【Java】列挙型

2018年3月11日

本稿は列挙型を使用する方法を説明します。

Javaの列挙型はenumキーワードを利用することで使用できます。

Enumは定数宣言に特化しており、宣言する変数は、暗黙的にpublic static finalが付与されます。

また、switch文でも簡単に利用できるという利点があります。

Enumの宣言

enum Enum名{
定数名,定数名・・・;
}
と定義しましょう。

public class Test{
	public static void main(String[] args){
		Type t = Type.LEAF;
		switch(t){
			case FIRE:
				System.out.println("火");
				break;
			case AQUA:
				System.out.println("水");
				break;
			case LEAF:
				System.out.println("草");
				break;
		}
	}
}

enum Type {
	FIRE,AQUA,LEAF;
}
実行結果

変数やメソッドの定義

JavaのEnumには変数やメソッドの定義が可能です。

コンストラクタはprivateコンストラクタのみ定義可能です。

privateは省略可能ですがインスタンス化できないため実質privateと変わりません。

public class Test{
	public static void main(String[] args){
		Type t = Type.LEAF;
		System.out.println(t.getName());
	}
}

enum Type {
	FIRE("炎"),AQUA("洪水"),LEAF("wwwww");
	private String name="";
	Type(String name){
		this.name = name;
	}
	public String getName(){
		return name;
	}
}
実行結果

wwwww

定数に()がついていますが、ここでコンストラクタを呼び出してその定数を初期化していることになります。

Type FIRE = new Type(“炎”)と記述しているようなイメージですね。

列挙型は必須の知識ではありませんが、余裕のある人は覚えておいて損はないでしょう。

Java

Posted by nompor