gpt4 book ai didi

java - 为什么,当我在 switch 语句中为每个枚举常量设置 case 时,我仍必须提供默认值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:09:50 25 4
gpt4 key购买 nike

<分区>

我试图在 Java 中声明一个枚举并在 switch 语句中使用该类型的变量,其中涵盖了该类型枚举常量的所有可能情况。

enum MyEnum {
FOO,
BAR
}

private static void test(MyEnum e) {
String msg;
switch (e) {
case FOO:
msg = "foo";
break;
case BAR:
msg = "bar";
break;
}
System.out.println("Enum is: " + e + " msg is: " + msg); //compiler error
}

为什么编译器无法检测到此开关将始终初始化 msg(或抛出 NullPointerException,因为 enull)?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com