(Java)enum(列挙型)のまとめ
基本的にクラスと同じ扱い
enum Number{ ONE, TWO, THREE, FOUR, FIVE ;} //セミコロンは無くてもいい public class Test { public static void main(String[] args) {} public enum Number2{ ONE2, TWO2, THREE2, FOUR2, FIVE2 ;} }
クラスの外でも中でも宣言できる。
使い道
割とよく見る条件分岐を使った使用法。
enum Number{ONE, TWO, THREE, FOUR, FIVE} public class Test{ public static void main(String[] args) { System.out.println(returnNumber(Number.FOUR)); } static int returnNumber(Number num){ switch (num) { case ONE: return 1; case TWO: return 2; case THREE: return 3; case FOUR: return 4; case FIVE: return 5; default: return 0; } } }
出力
4
クラスちっくな使い道
enum Season{ SPRING(1,"春"), Summer(2,"夏"), AUTUMN(3,"秋"), WINTER(4,"冬"); private final int num; private final String kanji; Season(int num, String kanji) { this.num = num; this.kanji = kanji; } int getNum(){ return num; } String getKanji(){ return kanji; } } public class Test{ public static void main(String[] args) { for(Season s : Season.values()){ System.out.println(s.getNum() + ":" + s.getKanji()); } } }
出力
1:春 2:夏 3:秋 4:冬
enum、私は「いーなむ」という謎の読み方をしていましたが元々enumerateからきているようなので「エ(イ)ニューム」が正しい読みになりそうですね。