enum枚举java【java,enum(枚举)使用详解+,总结】
- 格式:docx
- 大小:12.56 KB
- 文档页数:3
enum枚举java【java,enum(枚举)使用详解+,总
结】
enum的全称为enumeration,是JDK1.5中引入的新特性,存放在ng包中。
原始的接口定义常量
语法(定义)
创建枚举类型要使用enum关键字,隐含了所创建的类型都是ng.Enum类的子类(ng.Enum是一个抽象类)。枚举类型符合通用模式ClassEnum
这段代码实际上调用了7次Enum(Stringname,intordinal):
遍历、switch等常用操作
对enum进行遍历和switch的操作示例代码:
输出结果:
enum对象的常用方法介绍
intcompareTo(Eo)
比较此枚举与指定对象的顺序。
ClassgetDeclaringClass()
返回与此枚举常量的枚举类型相对应的Class对象。
Stringname()
返回此枚举常量的名称,在其枚举声明中对其进行声明。
intordinal()
返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
StringtoString()
返回枚举常量的名称,它包含在声明中。
static
输出结果:
给enum自定义属性和方法
给enum对象加一下value的属性和getValue()的方法:
输出结果:
EnumSet,EnumMap的应用
原理分析
enum的语法结构尽管和class的语法不一样,但是经过编译器编译之后产生的是一个class文件。该class文件经过反编译可以看到实际上是生成了一个类,该类继承了ng.Enum。EnumTest经过反编译(javapcom.hmw.test.EnumTest命令)之后得到的内容如下:48f0d266f44.png"data-size="undefined"/>
所以,实际上enum就是一个class,只不过java编译器帮我们做了语法的解析和编译而已。
总结