标签:
第三十条 用enum代替int
总得来说,使用enum有几点好处
1.编译时的类型安全,
2.可以保证就是自己定义的值,不会有月结风险,
3.每个枚举类型有自己的命名空间
4.枚举可以添加任意的方法和域
5.枚举类型是final的无法实例化,也就是实例可控的。。
第三十一条 用实例域替代序数
即不要依赖枚举值得定义顺序来指定他们的值,而应该讲枚举保存在一个实例域中,类似厦门的value值:
public enum RewardType { RMB(1), OBJECT(2), ZAN(3), OTHERS(4), NOREWARD(5); private final int value; private RewardType(int value){ this.value = value; } public int getValue(){ return value; } }
第三十二条 用EnumSet代替位域
EnumSet类就是用来替代位域的,即将指定的枚举值写入一个EnumSet类型里,读取出来时就知道特定的枚举值有没有被设定过
第 三十三条 用EnumMap替代序数索引
即用枚举值来做Map的key
第三十五条 注解优先于命名模式
第三十七 使用override
[Effective Java 读书笔记] 第6章 枚举和注解
标签:
原文地址:http://www.cnblogs.com/jiangz222/p/4934645.html