MST

星途 面试题库

面试题:Java中switch语句如何处理字符串类型

在Java 7及之后,switch语句可以处理字符串类型,请编写一个示例代码,展示如何使用switch语句根据不同的字符串值执行不同的操作,并说明在使用字符串作为switch条件时的注意事项。
45.0万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
public class StringSwitchExample {
    public static void main(String[] args) {
        String fruit = "apple";
        switch (fruit) {
            case "apple":
                System.out.println("这是苹果");
                break;
            case "banana":
                System.out.println("这是香蕉");
                break;
            case "orange":
                System.out.println("这是橙子");
                break;
            default:
                System.out.println("未知水果");
        }
    }
}

使用字符串作为switch条件时的注意事项:

  1. 字符串比较switch语句中字符串比较是基于equals方法,而不是==。这意味着比较的是字符串的实际内容,而不是内存地址。
  2. 性能:在Java 7之前,switch语句只能处理整型(如byteshortintchar及其包装类),使用字符串会增加性能开销,因为每次比较都要调用equals方法。不过在Java 7及之后,switch对字符串的处理进行了优化,性能影响相对较小,但仍需注意大数据量下的性能问题。
  3. 常量字符串case标签后必须是常量字符串,不能是变量。
  4. 空指针:如果switch表达式的值为null,会抛出NullPointerException,所以在使用前要确保switch表达式的值不为null