Java 中 switch 中枚举类型匹配怎么写
在 java 中使用 switch 语句处理枚举类型时,直接写枚举常量的名称即可,无需使用 `enumtype.value` 的形式。编译器会自动推断枚举类型,并支持对 null 值的显式处理以及覆盖所有未处理情况的默认分支。

switch 处理枚举时的语法细节与空值安全
当 switch 的变量是枚举类型时,case 标签后直接跟枚举常量名。如果传入的枚举值为 null,必须提供一个 default 分支或显式的 null case 来处理,否则程序会抛出 NullPointerException。

public enum Status { ACTIVE, INACTIVE }
public class SwitchDemo {
public static void main(String[] args) {
Status s = null;
String result = process(s);
System.out.println(result); // 输出: Unknown
}
public static String process(Status status) {
switch (status) {
case ACTIVE:
return "Active";
case INACTIVE:
return "Inactive";
default:
return "Unknown";
}
}
}
switch 表达式返回值的用法
从 Java 14 开始,switch 可以作为表达式使用,直接返回值给变量。这种写法要求每个分支都有明确的返回值,并且必须覆盖所有可能的枚举值或使用 yield 关键字返回特定值。

public enum Color { RED, GREEN, BLUE }
public class SwitchExprDemo {
public static void main(String[] args) {
Color c = Color.RED;
int value = switch (c) {
case RED -> 1;
case GREEN -> 2;
case BLUE -> 3;
};
System.out.println(value); // 输出: 1
}
}
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











