要遍历一个组中所有的int枚举常量, 或者获得int枚举组的大小, 这些都没有很可靠的方法.你还可能碰到这种模式的变体: 使用String常量, 被称作String枚举模式.虽然提供了可打印的字符串,....枚举的性能与int常量相比是相当的, 有个微小的性能缺点, 即装载和初始化枚举时会有空间和时间的成本, 但是实践上通常是可忽略的.第35条 用实例域代替序数所有的枚举都有一个ordinal()方法,...返回每个枚举常量在类型中的数字位置.永远不要根据枚举的序数导出与它关联的值, 而是要将它保存在一个实例域中.第36条 用EnumSet代替位域如果一个枚举类型的元素主要用在集合中, 一般就用int枚举模式...(无法打印, 无法遍历.)java.util提供了EnumSet类来有效地表示从单个枚举类型中提取的多个值的多个集合.第37条 用EnumMap代替序数索引有时候, 你可能会见到用ordinal方法来索引数组的代码...只要实现这个接口就可以.虽然无法编写可扩展的枚举类型, 却可以通过编写接口以及实现该接口的基础枚举类型, 对它进行模拟.