Java 枚举

  • Java 枚举

    enum 是一个特殊的“类”,代表一组常量(不可更改的变量,如final变量)。要创建enum,请使用enum关键字(而不是classinterface),并用逗号分隔常量。请注意,它们应使用大写字母:
    enum Level {
      LOW,
      MEDIUM,
      HIGH
    }
    您可以使用点语法访问enum常量:
    Level myVar = Level.MEDIUM;
  • 类内的枚举

    您也可以在类内部进行定义枚举:
    public class MyClass {
      enum Level {
        LOW,
        MEDIUM,
        HIGH
      }
    
      public static void main(String[] args) {
        Level myVar = Level.MEDIUM; 
        System.out.println(myVar);
      }
    }
    尝试一下
  • Switch语句中的枚举

    switch语句中经常使用枚举来检查相应的值:
    enum Level {
      LOW,
      MEDIUM,
      HIGH
    }
    
    public class MyClass {
      public static void main(String[] args) {
        Level myVar = Level.MEDIUM;
    
        switch(myVar) {
          case LOW:
            System.out.println("Low level");
            break;
          case MEDIUM:
             System.out.println("Medium level");
            break;
          case HIGH:
            System.out.println("High level");
            break;
        }
      }
    }
    尝试一下
  • 遍历枚举

    枚举类型具有一个values()方法,该方法返回所有枚举常量的数组。当您要遍历枚举的常量时,此方法很有用:
    for (Level myVar : Level.values()) {
      System.out.println(myVar);
    }
    尝试一下
    枚举和类之间的区别:
    枚举可以像类一样具有属性和方法。唯一的区别是枚举常量是publicstaticfinal(不可更改 - 不能重写)。枚举不能用于创建对象,也不能扩展其他类(但它可以实现接口)。为什么以及何时使用枚举?当您知道值不会改变时,例如月日、日、颜色、卡片组等,请使用枚举。