public class TestingGen {
/**
* @param args
*/
public enum Types {
TYPE1("TYPE1"), TYPE2("TYPE2");
private String type;
private Types(String type) {
this.type = type;
}
public String getType() {
return type;
}
}
public static void main(String[] args) {
String value = null;
switch (value) {
case Types.TYPE1.getType():
System.out.println("here");
break;
case Types.TYPE2.getType():
System.out.println("there");
default:
System.out.println("default");
}
}
}
它在case语句和#34; case表达式上显示错误必须是常量表达式"。
如何在swtich语句中使用String枚举?
答案 0 :(得分:2)
反过来说。获取字符串Types enumValue = Types.valueOf(stringValue)
的枚举值,然后启用枚举值switch(enumValue) { case TYPE1: [...]
。
答案 1 :(得分:-1)
公共类TestingGen {
/**
* @param args
*/
public enum Types {
TYPE1("TYPE1"), TYPE2("TYPE2");
String type = null;
Types(String s) {
type = s;
}
String getType() {
return type;
}
}
public static void main(String[] args) {
for(Types value : Types.values()) {
System.out.println(value + " " + value.getType() + " ");
}
}
}