📜  Java中的字符串使用switch

📅  最后修改于: 2020-02-12 15:31:13             🧑  作者: Mango

Java中的switch语句
从JDK 7开始,我们可以使用字符串文字/常量来控制switch语句,这在C / C++中是不可能的。使用基于字符串的开关是对使用等效序列if/else语句的改进。
重要事项:

  • 昂贵的操作:在执行方面,打开字符串比打开原始数据类型更昂贵。因此,最好仅在控制数据已经为字符串形式的情况下打开字符串。
  • 字符串不能为NULL:使用字符串时,请确保任何switch语句中的表达式都不为空,以防止在运行时引发NullPointerException。
  • 区分大小写的比较: switch语句将其表达式中的String对象与与每个case标签关联的表达式进行比较,就好像它使用的是String.equals方法一样;因此,在switch语句中比较String对象是区分大小写的。
  • 比if-else更好:与使用链式if-else语句相比,Java编译器通常从使用String对象的switch语句生成更有效的字节码。
    // Java程序,展示使用string来进行switch控制
    public class Test
    {
        public static void main(String[] args)
        {
            String str = "2";
            switch(str)
            {
                case "1":
                    System.out.println("1");
                    break;
                case "2":
                    System.out.println("2");
                    break;
                case "3":
                    System.out.println("3");
                    break;
                default:
                    System.out.println("无匹配");
            }
        }
    }

    输出:

    2