【发布时间】:2017-01-23 20:34:23
【问题描述】:
我有一个简化形式的枚举,如下所示。
public enum Codes{
Code1("someCode1", "someState"),
Code2("someCode2", "someState"),
...
...
private final String m_code;
private final String m_state;
}
我的目标是强制当其他人编辑此枚举以添加新值时,例如 Code100,Code100 的 m_code 不应与之前的任何 @987654326 的 m_code 相同@-Code99。我能想到的唯一方法是为此枚举编写一个单元测试来进行检查。有没有更好的办法解决这个问题?
理想情况下,我希望在这种情况下出现编译时错误,但我不确定这是否可以在 Java 中完成?
【问题讨论】:
-
我认为彼得的解决方案是最干净的。否则,我只会使用单元测试。通过正确设置持续集成,代码应该没有办法在未经测试的情况下转入生产环境。
标签: java design-patterns enums