温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Switch开关支持字符串吗

发布时间:2026-07-25 17:14:12 来源:亿速云 阅读:88 作者:小樊 栏目:编程语言

是的,Java 的 switch 从 Java 7 开始就支持 String 了。

✅ 支持情况

  • Java 7 及以后版本switch 可以使用 String
  • 底层原理:是基于 String.hashCode() + equals() 实现的

✅ 基本示例

String day = "MONDAY";

switch (day) {
    case "MONDAY":
        System.out.println("星期一");
        break;
    case "TUESDAY":
        System.out.println("星期二");
        break;
    default:
        System.out.println("其他");
}

⚠️ 注意事项

  1. 不能为 null
    String s = null;
    switch (s) { // NullPointerException
    }
    
  2. 区分大小写
    "MONDAY""monday" 是不同的
    
  3. case 必须是字符串字面量或常量
    final String MON = "MONDAY"; // 可以
    String x = "ABC";
    // case x: // ❌ 编译错误
    

✅ Java 新特性补充(Java 14+)

Java 14 引入了 switch 表达式(更简洁):

String result = switch (day) {
    case "MONDAY" -> "星期一";
    case "TUESDAY" -> "星期二";
    default -> "其他";
};

✅ 总结

Java 版本 是否支持 String
Java 6 及以前 ❌ 不支持
Java 7+ ✅ 支持
Java 14+ ✅ 支持(还可写表达式)

如果你是想问 为什么 Java 很晚才支持 String,或者 底层是怎么实现的,我也可以继续讲。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI