我创建了不同的枚举,我想根据输入值使用它们。就像输入值是1一样,那么我将使用第一个枚举,如果输入值是2则使用第二个枚举。代码如下:
for (ENUM_ONE enumOne: ENUM_ONE.values()) {
ENUM_ONE Obj = ((ENUM_ONE) enumOne);
System.out.println(Obj.getName());
}
我可以定义一个变量来表示不同的枚举吗?就像
if(input == 1){
enum = ENUM_ONE;
}else{
enum = ENUM_TWO;
}
for (enum enumOne: enum .values()) {
enum Obj = ((enum) enumOne);
System.out.println(Obj.getName());
}
是否有某种方法可以将ENUM_ONE
更改为ENUM_TWO
,这样就不必每次都写类似的for()
。
谢谢。
答案 0 :(得分:1)
向枚举添加一个表示某些内容的参数(例如Integer)。然后迭代枚举值,找到实际包含该值的枚举值。
或者,您可以创建一个Map以进行快速的枚举查找。
检查以下链接以了解更多信息:https://www.google.pl/amp/s/www.geeksforgeeks.org/enum-customized-value-java/amp/