switch所支持的数据类型

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和枚举类型的数据

你可能感兴趣的:(Java,java,jdk)