什么是Java的枚举?

时间:2014-03-20 21:57:10

标签: java enums

使用枚举超过整数的优势是什么?我试图在纸牌游戏中代表西装,我认为1,2,3,4足够好。但我的老板说我需要用枚举来做。为什么呢?

3 个答案:

答案 0 :(得分:1)

枚举很好,因为它们删除了“魔术数字” - 这些数字本身并不代表任何东西。通过用实际值替换这些数字,您的代码更有意义,并遵循更好的设计原则。

此外,枚举可防止将错误的值传递给函数。如果您的枚举仅定义Spades, Hearts, ClubsDiamonds,则只能传递枚举的对象。

答案 1 :(得分:1)

如果你使用int s,诉讼5是什么意思?你必须处理这个案子。如果来电者看到int并意外通过2试图创建" deuce&#34 ;?只使用int s,相同的数字可能代表不同域中的多个有效,不同的值。

使用枚举更安全。它只能有您自己的预定义值,并且不同的类型名称不允许意外地将有效值从另一个域传递到受限制的值域。

答案 2 :(得分:1)

java中的

enum提供了编译时检查。因此,如果您在程序中传递100,它将编译但在运行时失败。 enum将确保不会发生这种情况。