在switch语句中使用字符串以及实现原理
一次机缘巧合,在idea中调试代码的时候,跳到了.class文件中,刚好调试的代码是switch,于是就有了下面的内容: 对于Java语言来说,在Java 7之前, switch语句中的条件表达式的类型只能是与整数类型兼容的类型,包括基本类型char、byte、short和int,与这些基本类型对应的封装类Character、Byte、Short和Integer, 还有枚举类型。这样的限制降低了语言的灵活性,使开发人员在需要根据其他类型的表达式来进行条件选择时,不得不增加额外的代码来绕过这个限制。为此,Java 7放宽 了这个限制,额外增加了一种可以在switch语句中使用的表达式类型,那就是很常见的字符串,即String类型。 源代码: [java] view plain copy public class public static void "a" public static void switch case "a" "aa" break case "b" "bb" break [java] view plain copy public class public static void "a" public static void switch case "a" "aa" break case "b" "bb" break 编译后的.class文件: [java] view