【发布时间】:2020-12-09 19:03:52
【问题描述】:
我想使用 switch-case 在 java 中检查一个带有 enum 值的字符串,所以我这样做了:
public enum DemoEnumType {
ALL(""),
TOP("acb"),
BOTTOM("def");
private String code;
DemoEnumType(String code) {
this.code = code;
}
public String code() {
return this.code;
}
}
当我运行这段代码时,它会抛出一个异常:
public class Demo {
public static void main(String[] args) {
DemoEnumType typeValue = DemoEnumType.valueOf("acb");
switch (typeValue){
case ALL:
System.out.print("match");
case BOTTOM:
System.out.print("match");
case TOP:
System.out.print("match");
}
}
}
例外:
线程“main”java.lang.IllegalArgumentException 中的异常:没有枚举常量 package.DemoEnumType.acb。
【问题讨论】:
-
你的底句是什么意思?你能把它翻译成英文吗?抛出什么异常?你能发布堆栈跟踪吗?
-
是的。我已经更正了帖子,这是一个例外
-
还有:别忘了使用break;声明
标签: java android string enums switch-statement