文档库 最新最全的文档下载
当前位置:文档库 › enum枚举java【java,enum(枚举)使用详解+,总结】

enum枚举java【java,enum(枚举)使用详解+,总结】

enum枚举java【java,enum(枚举)使用详解+,总结】
enum枚举java【java,enum(枚举)使用详解+,总结】

enum枚举java【java,enum(枚举)使用详解+,总

结】

enum的全称为enumeration,是JDK1.5中引入的新特性,存放在https://www.wendangku.net/doc/af4598532.html,ng包中。

原始的接口定义常量

语法(定义)

创建枚举类型要使用enum关键字,隐含了所创建的类型都是https://www.wendangku.net/doc/af4598532.html,ng.Enum类的子类(https://www.wendangku.net/doc/af4598532.html,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文件经过反编译可以看到实际上是生成了一个类,该类继承了https://www.wendangku.net/doc/af4598532.html,ng.Enum。EnumTest经过反编译(javapcom.hmw.test.EnumTest命令)之后得到的内容如下:48f0d266f44.png"data-size="undefined"/>

所以,实际上enum就是一个class,只不过java编译器帮我们做了语法的解析和编译而已。

总结

相关文档