枚举

enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性。

在Java中,被 enum 关键字修饰的类型就是枚举类型。形式如下:

enum Color { RED, GREEN, BLUE }

如果枚举不添加任何方法,枚举值默认为从0开始的有序数值。以 Color 枚举类型举例,它的枚举常量依次为 RED:0,GREEN:1,BLUE:2

枚举的好处:可以将常量组织起来,统一进行管理。

枚举的典型应用场景:错误码、状态机等。

枚举类型的本质

尽管 enum 看起来像是一种新的数据类型,事实上,enum是一种受限制的类,并且具有自己的方法

创建enum时,编译器会为你生成一个相关的类,这个类继承自 java.lang.Enum

java.lang.Enum类声明

public abstract class Enum<E extends Enum<E>>
        implements Comparable<E>, Serializable { ... }

枚举的方法

在enum中,提供了一些基本方法:

values():返回 enum 实例的数组,而且该数组中的元素严格保持在 enum 中声明时的顺序。

name():返回实例名。

ordinal():返回实例声明时的次序,从0开始。

getDeclaringClass():返回实例所属的 enum 类型。

equals() :判断是否为同一个对象。

可以使用 == 来比较enum实例。

此外,java.lang.Enum实现了Comparable和 Serializable 接口,所以也提供 compareTo() 方法。

posted @   薛定谔的小冰  阅读(102)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示