我必须为一个项目编写验收测试。在这个项目中有一个公共的最终枚举,其中包含另一个带有方法的枚举。我应该在运行时添加新值,但我不知道如何实现这个结果。我使用的语言是 Java。
你能帮助我吗?
我必须为一个项目编写验收测试。在这个项目中有一个公共的最终枚举,其中包含另一个带有方法的枚举。我应该在运行时添加新值,但我不知道如何实现这个结果。我使用的语言是 Java。
你能帮助我吗?
您不能在 java 中的 Enum 中动态创建条目。我建议使用地图来做这样的事情,但它不会是一个枚举。
为什么不创建一个列表(例如 LinkedList 等)并使用枚举的 values() 方法将初始值(枚举的值)放入列表中。然后您可以在运行时将新值添加到列表中,例如:
要遍历枚举的值,只需使用 values(); 示例假定正确声明公共枚举月 {...}:
1. for (Month month : Month.values()) {
2. //do something
3. }
这是一个 URL,其中包含有关使用带有枚举的 values() 的信息:
http://www.coderanch.com/t/410234/java/java/Iteration-Enum
让您的枚举实现一个接口,该接口声明 getter 方法以访问您要扩展的枚举上的字段。在客户端代码中,更改将枚举带到接口的所有方法。通过这种设计,您可以轻松地为您的测试添加新值。