Java enum——不一样的枚举对象

Java enum——不一样的枚举对象

简介

枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中。而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似。不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围。

Java enum——不一样的枚举对象

Enum,也就是枚举,C++、Java、Objective-C、Swift这些语言都有对应的枚举类型,功能可能有多有少,但是最核心的还是一个—-规范的定义代码中的状态、选项等“常量”。

Enum的特性

  • Enum常量隐式的加上了static和final,一旦被创建就无法修改
  • Enum提供了是类型安全的(type-safe)
  • Enum隐式的加上了values()方法,返回一个数组包含所有的Enum常量
  • 两个Enum常量可以使用 ==或equals()方法比较
  • Enum可以用在switch语句中,就像int,String。
  • Enum有自己的名称空间
  • Enum可以实现Java接口
  • 可以在Enum中定义构造器
Java enum——不一样的枚举对象

Enum用法

  • 常量

在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

Java enum——不一样的枚举对象

  • switch

JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。

Java enum——不一样的枚举对象

  • 向枚举中添加新方法

如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。

Java enum——不一样的枚举对象

  • 使用接口组织枚举
Java enum——不一样的枚举对象

Enum 类型提出给 JAVA 编程带了了极大的便利,让程序的控制更加的容易,也不容易出现错误。所以在遇到需要控制程序流程时候,可以多想想是否可以利用 enum 来实现。


分享到:


相關文章: