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

在Java 5中引入的Enum类的目的是什么?

发布时间:2020-12-15 05:19:22 所属栏目:Java 来源:网络整理
导读:我的建议: 1)两个枚举只在编译之前存在(就像泛型;但是我从来没有听过任何关于它的内容,而它在任何地方写的都是在编译后删除了泛型) 2)或Enum是一种以某种方式保持向后兼容性的方法(但我还没有看到这种方式). 还有其他建议吗? (顺便问一下,你有没有在你的代
我的建议:

1)两个枚举只在编译之前存在(就像泛型;但是我从来没有听过任何关于它的内容,而它在任何地方写的都是在编译后删除了泛型)

2)或Enum是一种以某种方式保持向后兼容性的方法(但我还没有看到这种方式).

还有其他建议吗? (顺便问一下,你有没有在你的代码中使用它?)

UPD:http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html

换句话说,有一个enum关键字和Enum类.它们都出现在Java 5中.问题是:为什么我们需要两者?

第二个问题:为什么Enum成为API的一部分?

解决方法

从 the Java Tutorials开始:

You should use enum types any time you need to represent a fixed set of constants. That includes natural enum types such as the planets in our solar system and data sets where you know all possible values at compile time—for example,the choices on a menu,command line flags,and so on.

枚举非常有用,是的,我在代码中使用了很多次.

编辑:

…有一个enum关键字和Enum类.它们都出现在Java 5中.问题是:为什么我们需要两者?

这个问题类似于问“有一个类关键字和一个Object类.为什么我们需要两个?”

在这两种情况下,关键字基本上都是编译器的提示;您可以将它们视为语法糖,以节省您的击键次数,并让编译器减少工作量(通过不猜测您要声明的内容).

见this q&a.

你在代码中使用过它吗?

答案仍然是“是的”.特别是,Enum#valueOf()是一个用于解析字符串的静态方法:

DayOfWeek d = Enum.valueOf(DayOfWeek.class,"TUESDAY");

但当然这也有效:

DayOfWeek d = DayOfWeek.valueOf("TUESDAY");

(编辑:李大同)

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

    推荐文章
      热点阅读