30. 用enum代替int常量
枚举是单例的。类型检查等措施保证其安全可靠。
枚举类中需要引用自有的枚举值做判断,建议使用策略枚举。即将引用枚举值的行为方法定义成一个内部枚举类,传递给枚举类的构造器中。例子见书P135。策略枚举是策略模式的一种延伸。
31. 用实例代替序数
枚举是有个int值序数来维护顺序的。但是避免用这ordinal()方法来获取序数。该方法仅在设计像EnumSet和EnumMap这样的类的时候才使用
32. 用EnumSet来代替位域
有时候需要将多个枚举值按照位运算的方式来做并交的操作,这个可以交个EnumSet来做,其本身内部实现也是采用位运算的方式。
33. EnumMap来代替序数索引
需要键值对来索引枚举值时使用该数据结构
34. 用接口模拟可伸缩的枚举
枚举可以实现接口。
35. 多使用注解
36. 坚持使用Override注解
37.用比较接口定义类型
需要定义类型的时候就使用标记接口。注意和标记注解的区别。
java.io.Serializable就是使用标记接口的例子。因为需要这个类型。