在JDK1.5之前,switch循环只支持byte short char int四种数据类型。
JDK1.5之后加入枚举类(enum类型)和byte、short、char、int的包装类,四个包装类的支持是因为Java编译器在底层进行了拆箱操作;
枚举类型的支持是因为枚举类有一个ordinal方法,该方法实际上是返回一个int类型的数值。
JDK1.7后,又加入String类型
String类中因为有一个hashCode方法,结果也是返回int类型。
得出结论,switch在底层实现目前只支持整型数据。