int
byte
char
short
同时随着jdk1.5中新增了枚举类型,枚举类型底层是使用了枚举类的ordinal方法,返回的是枚举常量的序号,其序号是int类型,所以可以作为switch的参数。
在jdk1.7中string类型底层使用了hashCode方法,返回的数据类型为哈希码,也是int类型。
实际上总结一下后可以发现,switch能接受的数据类型是int。
先说下总共有哪些数据类型可被接受:byte、short、char、int、前四者的包装类、String、枚举
其中byte、short、char会自动类型提升为int,而包装类能自动拆箱为基本数据类型,最终也会转成int。String则是跟哈希值有关,而哈希值是int类型。枚举类型返回的是枚举常量的序号,也是int类型。
包装数据类型:Byte, Short, Character, Integer
枚举类型:Enum
字符串类型:String(Jdk 7+ 开始支持)
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题