- 枚举类型是指由一组固定的常量组成合法的类型
- Java中由关键字enum来定义一个枚举类型
- Java中枚举的好处如下:
- 1-枚举可以的 valueOf 可以自动对入参进行非法参数的校验
- 2-可以调用枚举中的方法,相对于普通的常量来说操作性更强
- 3-枚举实现接口的话,可以很容易的实现策略模式
- 4-枚举可以自带属性,扩展性更强
-
枚举如何实现的
- 如果使用反编译,对一个枚举进行反编译的话,就能大致了解他的实现方式
- 如上面的Season枚举,反编译后内容如下:
- 通过反编译后代码可以看到,public final class T extends Enum,说明该类是继承了Enum类的,同时final关键字告诉我们,这个类也是不能被继承的
- 当使用enum来定义一个枚举类型的时候,编译器会自动帮我们创建一个final类型的类继承Enum类,所以枚举类型不能被继承,看到这个类中有几个属性和方法
-
枚举如何比较
- 枚举的equals方法底层用的还是==,所以两者都可以