java枚举如何运用?

网友解答: enum是JDK1.5中引入的新特性,存放在 java.lang包中。它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。它的本质是类,创建枚

网友解答:

enum是JDK1.5中引入的新特性,存放在 java.lang包中。它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。

它的本质是类,创建枚举类型要使用enum关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类,它实现了implements Comparable<E, Serializable接口),它的构造方法是private私有的,因此外部是不能创建实例的。

那么使用枚举有仕么好处呢?

1:常量的使用,在JDK1.5之前,我们定义常量都是:public static fianl....。而现在有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器直接会报错。

2:枚举在某些条件下可读性高,代码不冗余,如下图所示,ImageType枚举类,BANNER的宽700,高300,当我们切图写公共方法的时候,参数写成枚举类型即可。传入的是哪个枚举,方法里取出枚举的宽高切图即可,省去了大量的if else判断。代码可读性会提高。

3:Java中switch可以接收的数据类型,JDK1.6以前的版本支持byte、char、short、int、enum,但是到了1.7之后,开始支持string参数了,如果你的jdk环境是1.6之前的(包括1.6)那么你使用switch的时候就要注意了,可以通过enum.valueOf(string)把字符串转换成enum来使用switch语句。

了解了枚举有哪些好处之后,我们简单来看下它的常用方法有哪些

1:int compareTo(E o)

比较此枚举与指定对象的顺序。

2:Class<E getDeclaringClass()

返回与此枚举常量的枚举类型相对应的 Class 对象。

3:String name()

返回此枚举常量的名称,在其枚举声明中对其进行声明。

4:int ordinal()

返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。

5:String toString()

返回枚举常量的名称,它包含在声明中。

6:static <T extends Enum<T T valueOf(Class<T enumType, String name)

返回带指定名称的指定枚举类型的枚举常量。

7:static T[] values()

将枚举类转换成一个枚举类型的数组

网友解答:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。

例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。

而这样的数据集枚举就派上了用场。下面用一个例子来说明使用方法:

还有什么不明白的可以问我,例子是基本的用法,需要更深入的可以百度一下。

标签: