摘要: 用EnumMap代替序数索引 有时候,会见到利用ordinal方法来索引数组的代码。例如下面这个简化的类,表示一种烹饪用的香草: 假设有一个香草的数组,表示一座花园中的植物,想要按照类型(一年生、多年生或者两年生植物)进行组织后将植物列出来。 有些程序员会将这些集合放到一个按照类型序号进行索引的数组 阅读全文
posted @ 2016-08-25 21:47 Mr-cc 阅读(312) 评论(0) 推荐(0)
摘要: 用EnumSet代替位域 如果一个枚举类型的元素主要用在集合中,一般使用int枚举模式,将2的不同倍数赋予每个常量: java // Bit field enumeration constants OBSOLETE public class Test{ public static final int 阅读全文
posted @ 2016-08-25 19:40 Mr-cc 阅读(410) 评论(0) 推荐(0)
摘要: 枚举——用实例域代替序数 许多枚举天生就与一个单独的int值相关联。所有的枚举都有一个ordinal方法,它返回每个枚举常量在类型中的数字位置。你可以试着从叙述中得到关联的int值: 虽然这个枚举不错,但是维护起来就像一场噩梦。如果常量进行重新编译,numberOfMusicians方法就会遭到破坏 阅读全文
posted @ 2016-08-25 18:14 Mr-cc 阅读(561) 评论(0) 推荐(0)