將字段添加到枚舉
回答
您不能在Java中的Enum中動態創建條目。我建議使用地圖做這樣的事情,但它不會是一個枚舉。
我無法更改代碼!我必須返回一個枚舉類型 –
聽起來像你在這裏做XY反模式。你真的想達到什麼目的? –
我正在嘗試這樣做:http://www.javaspecialists.eu/archive/Issue161.html但更一般。我沒有任何開關。 –
讓你的枚舉實現一個接口,該接口聲明getter方法訪問你想要擴展的枚舉的字段。在客戶端代碼中,將所有使用枚舉的方法更改爲接口。通過這種設計,您可以輕鬆地爲測試添加新值。
爲什麼不創建一個列表(E.G. LinkedList等)並使用enum 的values()方法將初始值(枚舉的值)獲取到列表中。然後,您可以在運行時將新值添加到列表中,例如:
要迭代枚舉值,只需使用values();例如假定公共枚舉月{...}的正確聲明:
1. for (Month month : Month.values()) {
2. //do something
3. }
這與使用值()與枚舉信息的URL:
http://www.coderanch.com/t/410234/java/java/Iteration-Enum
- 1. MySQL將字段添加到枚舉
- 2. 將枚舉值添加到observableArrayList.with lambdas
- 3. Semver將值添加到枚舉
- 4. 將多個枚舉添加到JComboBox
- 5. 枚舉Java字段
- 6. 添加枚舉值?
- 7. 如何將字符串項添加到c#中的枚舉?
- 8. jOOQ並選擇枚舉字段到枚舉對象
- 9. 將枚舉映射到「子枚舉」
- 10. NSStringEncoding - 枚舉到字符串枚舉
- 11. 特殊字符添加日期枚舉
- 12. 轉換Ç枚舉位字段到Python
- 13. Unmarshall字段到枚舉 - 可能嗎?
- 14. Anorm和枚舉字段
- 15. Spring roo,字段枚舉
- 16. 區分枚舉和字段
- 17. 如何在Java中運行時添加枚舉字段
- 18. 枚舉沒有被添加到域類
- 19. 添加接口到groovy枚舉?
- 20. 添加枚舉到組合框
- 21. 添加子類別到Java枚舉
- 22. 枚舉到字典
- 23. 默認枚舉不添加
- 24. 添加unbounded_Strings來枚舉ada
- 25. 將字符串字段轉換爲Swashbuckle中的枚舉字段
- 26. Linq到XML:將枚舉添加到對象
- 27. dynamodb - 將字段添加到字段
- 28. 將字段添加到JSON
- 29. 將字段添加到OverlayItem
- 30. Java枚舉找到枚舉
爲什麼你需要添加值一個枚舉爲了寫一個驗收測試? – henry
因爲我必須從FIT表中加載新值,並且這些值由enum類型表示到系統中 –
枚舉的目的是提供一組靜態約束的值 - 如果您的要求是針對一組開放式結束的值可以動態讀取的不使用枚舉。你唯一的選擇是改變代碼來返回從你的表中的數據構造的類的實例,或靜態地添加新的字段到枚舉。 – henry