我有几个枚举,我想提供给像
这样的网络API/get/enum-values?type=<enum-Name>
枚举如下:
public enum Color {RED, GREEN, BLUE};
public enum Status {OPEN, DONE, CLOSED};
public enum Type {CAR, BIKE, ON_FOOT};
我想编写的用于在web-API中统一处理所有这些枚举的代码如下:
Class<?>[] enumsArray = new Class<?>[] {
Color.class, Status.class, Type.class
};
List<String> getValuesForEnum(String enumName) {
List<String> returnValue = new ArrayList<>();
// Loop over the above array to find enum corresponding to the argument
for (Object e: foundEnum.values()) {
returnValue.add(e.toString());
}
return returnValue;
}
上面的函数无法编译,因为我无法一般地处理枚举。 有没有办法让这项工作?
我不想单独处理每个枚举。
也许我可以从一些常见的枚举扩展所有枚举?
答案 0 :(得分:2)
由于泛型数组存在问题(编译错误:“无法创建通用数组”),最好使用'index' => 'application.controllers.soccer.IndexAction',
:
Arrays.asList()