A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

6 个回复

倒序浏览
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
回复 使用道具 举报
switch(x)中x值的类型可以是 byte 、short、 int、 char。所以byte可以,long和String不行
回复 使用道具 举报
修正,switch 从java 7开始后可以作用在String 上。切记

switch 可以作用的类型是:byte 、 short 、 int 、 char 、 String 和枚举。
回复 使用道具 举报
原来switch作用有类型的啊  一直没发现,以前都是用枚举和int。
其实无论是什么类型 枚举一下就行了。
回复 使用道具 举报
不能,只能是int和枚举型
回复 使用道具 举报
楼上         xieguanxiong            误人,java 7 都支持了,还抱住 java  5 不放,,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马