switch所支持的数据类型
switch其实仅支持int数据类型的参数类型,但在Java功能的完善中,通过自身的机制,另其可以接受更多的数据类型。
Java自身的机制中可以将byte、short、char自动转换为int类型,所以switch可以使用byte、short、char的数据类型。
随着jdk1.5中新增了自动拆箱的机制,所以上述数据类型的包装类(Byte、Short、Character、Integer)也可以自动拆箱为int类型,可以作为其参数进行使用。
同时随着jdk1.5中新增了枚举类型,枚举类型底层是使用了枚举类的ordinal方法,返回的是枚举常量的序号,其序号是int类型,所以可以作为switch的参数。
在jdk1.7中string类型底层使用了hashCode方法,返回的数据类型为哈希码,也是int类型。
所以switch可以支持byte、short、char、int、Byte、Short、Character、Integer、String和枚举类型的数据