要遍历一个组中所有的int枚举常量, 或者获得int枚举组的大小, 这些都没有很可靠的方法.你还可能碰到这种模式的变体: 使用String常量, 被称作String枚举模式.虽然提供了可打印的字符串,...如果这样的硬编码字符串常量中包含书写错误, 编译时不会检测到, 在运行时会报错.Java1.5开始提供了枚举类型.枚举类型: 实例受控, 是单例的泛型化, 本质上是单元素的枚举.枚举类型提供的优点:编译时的类型安全....多个枚举类型可包含同名常量.增加或重新排列枚举类型中的常量, 无需重新编译它的客户端代码.toString()方法将枚举转化成可打印的字符串.允许添加任意的方法和域, 并实现任意的接口....(无法打印, 无法遍历.)java.util提供了EnumSet类来有效地表示从单个枚举类型中提取的多个值的多个集合.第37条 用EnumMap代替序数索引有时候, 你可能会见到用ordinal方法来索引数组的代码..., 却可以通过编写接口以及实现该接口的基础枚举类型, 对它进行模拟.