【读书笔记】TiJava——枚举类型

枚举类型

特性

•继承自java.lang.Enum
•values()返回枚举数组
•自动提供equals和hashCode方法
•自动实现Comparable和Serializable接口
•可以用==比较两个枚举值
•默认name()等同toString()
•valueOf将字符串名称转换为枚举类型值

添加方法

•枚举定义必须在方法定义之前
•枚举定义结束后使用分号
•可以有构造函数和main函数
•可以覆盖toString

枚举秘密

•编译后是一个final的class
•values方法由编译器生成
•编译器生成带单个string参数的valueOf方法
•Class的getEnumConstants可以取得枚举实例

使用接口组织枚举

•在接口内部,定义实现该接口的枚举,可以达到将接口元素分组的目的
•对Enum,实现接口是子类化的唯一办法


EnumSet/EnumMap

•EnumSet中的元素,必须来自一个enum,内部由long实现
•EnumMap中的key必须来自一个enum,内部由数组实现
•顺序按enum实例定义的顺序

应用

•命令模式
•职责链模式(例子:邮件派送)
•状态机(例子:自动售货机)
•表格驱动
•多路分发(例子:石头剪刀布)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值