是的,Java 的 switch 从 Java 7 开始就支持 String 了。
switch 可以使用 StringString.hashCode() + equals() 实现的String day = "MONDAY";
switch (day) {
case "MONDAY":
System.out.println("星期一");
break;
case "TUESDAY":
System.out.println("星期二");
break;
default:
System.out.println("其他");
}
nullString s = null;
switch (s) { // NullPointerException
}
"MONDAY" 和 "monday" 是不同的
final String MON = "MONDAY"; // 可以
String x = "ABC";
// case x: // ❌ 编译错误
Java 14 引入了 switch 表达式(更简洁):
String result = switch (day) {
case "MONDAY" -> "星期一";
case "TUESDAY" -> "星期二";
default -> "其他";
};
| Java 版本 | 是否支持 String |
|---|---|
| Java 6 及以前 | ❌ 不支持 |
| Java 7+ | ✅ 支持 |
| Java 14+ | ✅ 支持(还可写表达式) |
如果你是想问 为什么 Java 很晚才支持 String,或者 底层是怎么实现的,我也可以继续讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。