1

我必须为一个项目编写验收测试。在这个项目中有一个公共的最终枚举,其中包含另一个带有方法的枚举。我应该在运行时添加新值,但我不知道如何实现这个结果。我使用的语言是 Java。

你能帮助我吗?

4

3 回答 3

1

您不能在 java 中的 Enum 中动态创建条目。我建议使用地图来做这样的事情,但它不会是一个枚举。

于 2012-11-29T21:28:17.400 回答
0

为什么不创建一个列表(例如 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
于 2012-11-29T22:13:26.663 回答
0

让您的枚举实现一个接口,该接口声明 getter 方法以访问您要扩展的枚举上的字段。在客户端代码中,更改将枚举带到接口的所有方法。通过这种设计,您可以轻松地为您的测试添加新值。

于 2012-11-29T21:33:58.020 回答