Java中枚举类型如何使用
本篇文章给大家分享的是有关Java中枚举类型如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1//定义枚举类型
2enum Day {
3 MONDAY, TUESDAY, WEDNESDAY,
4 THURSDAY, FRIDAY, SATURDAY, SUNDAY
5}
那我们先来看一下他的概念是啥,枚举类型是Java5新增的特性,他是一种特殊的数据类型,是因为他既是一种类(class)类型,又比普通的类型多了写特殊的约束。
1.为什么要使用
比如刚才举的例子,如果我们不用枚举类型也行,那就定义常量就行,如下图:
但是这样做是存在缺点的,比如我在里面写错啦一个单词,如下图:
他是不提示我的,可是我如果用枚举,他就可以提示我数据重复,如下图:
还有就是不用枚举类型,代码不够简洁,冗余代码太多。
2.枚举是什么
我们先编译一个上面写的Day.java文件,然后反编译他,看他编译出来的结果是什么,如下图:
从上图我们可以看出反编译出来Day是一个final类型,也就是不能被其他类继承,并且他是继承于Enum类的。如果我们定义一个枚举类型,其实Java替我们做了定义常量这件事情,也就是上图1的区域。区域3,4是由编译器插入的,下面的图借的人家的。
值得注意的是这两个方法是有编译插入的,所以他只停留在本类的层面。不信咱就试试
3.阅读源码
我们找到Enum类,看一下他里面有哪些方法,以及各方法的作用。
compareTo:比较我的序数与你的序数之间的差别。
equals:比较枚举类型是否相等。
getDeclaring:与该枚举类型值相对应的类。
ordinal:返回枚举常量的序数。
valueOf:返回带指定名称的指定枚举类型的枚举常量,如果不存在,会直接报错,如下图中标红区域。
空讲没意思,我们来练练。
以上就是Java中枚举类型如何使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。