【发布时间】:2020-08-17 06:11:19
【问题描述】:
使用 OpenJDK 14.0.1
public class Example {
private String test(final ExampleEnum ee) {
return switch (ee) {
case Value -> null;
};
}
}
public enum ExampleEnum {
Value;
public enum InnerEnum {
}
}
编译失败,“switch 表达式未涵盖所有可能的输入值”。如果我从ExampleEnum 中删除InnerEnum,代码就会编译。为什么这个内部枚举的存在会导致 switch 表达式失败?有没有合乎逻辑的解释或编译器的错误?
【问题讨论】:
-
@Progman 看起来是一样的,并确认这是一个编译器错误。谢谢!
标签: java enums switch-statement javac