加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java:枚举values()和valueOf(String)

发布时间:2020-12-14 05:59:17 所属栏目:Java 来源:网络整理
导读:为什么 javac将value()和valueOf(String)方法添加到正在定义的枚举类型中?将它们添加到Enum类本身不是更好吗? 我的意思是,如果我有一些像这样的枚举 enum FooEnum {ONE,TWO} javac在编译时将values()和valueOf(String)添加到FooEnum.我觉得有点奇怪.这背后
为什么 javac将value()和valueOf(String)方法添加到正在定义的枚举类型中?将它们添加到Enum类本身不是更好吗?

我的意思是,如果我有一些像这样的枚举

enum FooEnum {ONE,TWO}

javac在编译时将values()和valueOf(String)添加到FooEnum.我觉得有点奇怪.这背后的原因是什么?

是否只是为了确保返回值/值的类型安全性还是还有其他什么?如果只是为了类型安全,那么Generics不会有帮助吗?

解决方法

它们是静态方法 – 如何将它们添加到Enum中?静态方法不是多态的.此外,在您提议的方案中,Enum的实施情况会如何? Enum本身并不知道价值 – 只有具体类型才有.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读