java枚举或具有少量常量的类。哪一个有利?

时间:2012-01-30 17:09:15

标签: java

我有一组常数。枚举将是定义常量集的最佳选择。我们可以在java类中定义所有常量。两者的优点和缺点是什么?我的意思是哪一个更有利?请帮帮我。

谢谢!

3 个答案:

答案 0 :(得分:3)

相关常量的枚举最好表示为enum

如果常量不具有共同特征,但是不同,则不要使用枚举。

答案 1 :(得分:3)

<强>枚举:

  • 自java 1.5
  • type safe
  • 您可以遍历所有已定义的值
  • 每个常量可以有更多属性 - 编写简单

静态字段:

  • 适用于所有Java版本

答案 2 :(得分:1)

我会选择enum。 Enum为您提供与类几乎相同的灵活性(毕竟,枚举是一个类!),因此您可以随意声明字段,方法和构造函数。忘记继承,但是嘿 - 无论如何,你应该赞成组合而不是继承;)

Enum还为您提供了一些没有任何喧嚣的酷炫功能:

  1. 类型安全
  2. 线程安全
  3. 您可以在switchfor-loop语句
  4. 中使用它
  5. 您有一个简洁的API来处理您定义的常量(例如valueOf(String)
  6. 我建议看一下' Josh Bloch的有效Java ',你会惊奇地知道他们真正有多强大的工具。