【发布时间】:2012-10-03 07:35:08
【问题描述】:
为什么 javac 将 values() 和 valueOf(String) 方法添加到正在定义的枚举类型中?将它们添加到 Enum 类本身不是更好吗?
我的意思是,如果我有一些枚举,例如
enum FooEnum {ONE, TWO}
javac 在编译时将values() 和valueOf(String) 添加到FooEnum。我觉得有点奇怪。这背后的原因是什么?
只是为了确保返回值/值的类型安全还是还有其他什么?如果只是为了类型安全,泛型不会有帮助吗?
【问题讨论】: