枚举

41 阅读1分钟

JDK1.5引入了枚举类型。枚举类型的定义包括枚举声明和枚举体。格式如下:

enum 枚举名{
  枚举体(常量列表)
}

枚举体就是放置一些常量

示例:

enum Season {
    SPRING,SUMMER,AUTUMN,WINTER
}

所有的枚举类型都是隐性的继承自java.lang.Enum。枚举实际上还是类,而每个被枚举的成员实际就是一个枚举类型的实例,他们默认都是用 pubic static final修饰的,可以直接通过枚举类型名使用。

enum Season {
    SPRING,SUMMER,AUTUMN,WINTER
}

public class Test {
    public static void main(String[] args) {
        for (Season s: Season.values()) {
            System.out.println(s);
        }
        int a = new Random().nextInt(4); // 生成 0,1,2,3的随机数
        switch (Season.values()[a]) {
            case SPRING:
                System.out.println("春天");
                break;
            case SUMMER:
                System.out.println("夏天");
                break;
            case AUTUMN:
                System.out.println("秋天");
                break;
            case WINTER:
                System.out.println("冬天");
                break;
        }
    }
}

建议:当你需要定义一组常量时,可以使用枚举类型。尽量不要使用枚举类型的高级特性,事实上高级特性都可以通过普通类来实现,没有必要引入枚举,增加程序复杂性。