Java enum


Enum


JavaのEnumは、固定定数セットを含むデータ型です.
曜日(SUNDAY、MONDAY、TUESDAY...)
季節(SPRING、WINTER、SUMMER…)
また、Enumのすべての定数は大文字で表さなければなりません.

1.Enum特性

  • スイッチドアは使いやすいです.
  • の列挙は、フィールド、メソッド、および作成者を含むことができる.
  • 内部ではEnumクラスが継承されているため、継承を取得できません.
  • enum test {
    
        SUNDAY,
        MONDAY,
        TUESDAY
    
    }
    public class ThreadExample1 {
    
        public static void main(String[] args) {
    
            for(test s: test.values()){
                System.out.println(s);
            }
        }
    
    }// SUNDAY , MONDAY , TUESDAY

    2. Enum values() , valueOf()


    values()
    enumオブジェクトの定数を配列に返します.
    これは、SUNDAY、MODAY、TESDAYなどの上記の定数がオブジェクト配列に戻されることを意味します.
    valueOf (Stirng name)
    伝達された文字列に一致する対応する定数を返します.
    enum Color{
        RED,
        BLUE;
    }
    public class ThreadExample1 {
    
        public static void main(String[] args) {
    
    
            Color color=Color.valueOf("RED");
    
            System.out.println(color);
        }
    
    }

    3. EnumSet


    列挙型のために設計された特別なSetインタフェース実装体.
    すなわち、列挙型データの設定が必要な場合に使用することができる.
    
    enum Color{
        RED,
        BLUE,
        YELLOW;
    }
    
    public class ThreadExample1 {
    
        public static void main(String[] args) {
    
            EnumSet<Color> set1,set2,set3,set4;
    
            //전체 상수 데이터 출력
            set1=EnumSet.allOf(Color.class);
            //빈 set 만듬
            set2=EnumSet.noneOf(Color.class);
            //Color enum에 지정되어 있는 요소 가져옴
            set3=EnumSet.of(Color.RED);
    
    
    
            System.out.println(set1);
            System.out.println(set2);
            System.out.println(set3);
    
            //빈 set에 YELLOW 추가
            set2.add(Color.YELLOW);
            System.out.println(set2);
        }
    
    }