如何使java枚举元素可配置

时间:2009-09-29 16:47:16

标签: java spring enums

大家好,我不确定标题是否足够描述。我的意思是创建一个枚举 像这样

public enum Test{
  ONE, TWO ,THREE
}

这看起来像硬编码。如果由于某种原因我需要添加四个某些业务规则的演变原因。我应该编码并再次部署它吗? 是不是让它从文件,例如spring配置或属性文件中选择元素的方法? 谢谢阅读。

3 个答案:

答案 0 :(得分:5)

如果代码中没有明确存在枚举值,您怎么能使用它? Test.Four无法编译。任何可能以某种方式引用Test.Four的代码都将无效并且会崩溃,直到读取文件并添加新值的时间点。

当然,您可以使用数组或值集合并在运行时操作它们 - 从文件或数据库或其他任何内容加载它们 - 但不是枚举。

答案 1 :(得分:3)

我问了一个类似的问题here。内容可能是有意义的。

共识似乎是Java的枚举类型在设计上是静态的。如果您需要可以在运行时更改的内容,理想情况下应使用不同的数据结构。

不那么偏好的想法与扩展Enum等等有关。

答案 2 :(得分:1)

您可以存储在数据库表中。