我有一個簡化形式的枚舉看起來像這樣。Java的枚舉實現一個字段的唯一性
public enum Codes{
Code1("someCode1", "someState"),
Code2("someCode2", "someState"),
...
...
private final String m_code;
private final String m_state;
}
我的目標是強制執行,當其他人編輯此枚舉添加一個新的價值,說Code100
,該m_code
爲Code100
不應該是一樣m_code
任何以前Code1
- Code99
。我能想到的唯一方法就是爲這個枚舉編寫一個單元測試,它會做這個檢查。有沒有更好的解決這個問題?
理想情況下,我會喜歡這種情況的編譯時錯誤,但我不確定這可以在Java中完成嗎?
彼得的解決方案是最乾淨的我認爲。否則,我只會使用單元測試。通過適當建立持續集成,代碼無法轉化爲未經測試的生產方式。 – Axel