天天看点

Java - Enum 枚举类型

目录

前言

应用

定义

基本Enum特性

Enum的静态导入

Enum中添加新方法

Switch语句中的Enum

Enum的继承

EnumSet的使用

EnumMap的使用

常量相关方法

枚举值向枚举类型转换

枚举是 Java1.5 引入的新特性,通过关键字 enum 来定义枚举类。

关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用。

枚举类的定义

常用方法

方法

说明

values()

可以遍历enum实例,其返回enum实例的数组

ordinal()

返回每个实例在声明时的次序

name()

返回enum实例声明时的名称

getDeclaringClass()

返回其所属的enum类

Enum.valueOf()

根据给定的名称返回相应的enum实例

static import 可以将 enum 实例的标识符带入当前类,无需再用enum类型来修饰 enum 实例

Enum 可以看做是一个常规类(除了不能继承自一个enum),enum 中可以添加方法和 main 方法。

正确用法

错误用法

常规情况下必须使用 enum 类型来修饰 enum 实例,但在 case 语句中不必如此。

所有的enum都继承自java.lang.Enum类,由于Java不支持多重继承,所以enum不能继承其他类,但可以实现一个或多个接口。

enum 中不能删除和添加元素,Java SE5 引入了EnumSet,其元素必须来自一个 enum 。

EnumMap 是一种特殊的 Map,其 key 值必须来自一个 enum,enum 实例定义的次序决定了其在EnumMap中的顺序。

enum 允许为 enum 实例编写方法,为每个 enum 实例赋予不同的行为,要实现常量的相关方法需要为 enum 定义- 实现 abstract 方法。

以上为本篇文章的主要内容,希望大家多提意见,如果喜欢记得点个推荐哦

作者:Maggieq8324

本文版权归作者,欢迎转载,转载时保留原作者和文章地址即可。