在Java 5中引入的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");

相关文章

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
今天犯了个错:“接口变动,伤筋动骨,除非你确定只有你一个...
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:...
本文目录 线程与多线程 线程的运行与创建 线程的状态 1 线程...