黑马程序员技术交流社区

标题: switch语句能否作用在byte上,能否作用在long上,能否作用在String上? [打印本页]

作者: 陆泽峰    时间: 2012-2-27 14:23
标题: switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
作者: 陈伟    时间: 2012-2-27 15:01
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
作者: 冯兵兵    时间: 2012-2-27 15:03
switch(x)中x值的类型可以是 byte 、short、 int、 char。所以byte可以,long和String不行
作者: tanlei200620    时间: 2012-2-27 16:07
修正,switch 从java 7开始后可以作用在String 上。切记

switch 可以作用的类型是:byte 、 short 、 int 、 char 、 String 和枚举。
作者: 雷楚光    时间: 2012-2-27 17:29
原来switch作用有类型的啊  一直没发现,以前都是用枚举和int。
其实无论是什么类型 枚举一下就行了。
作者: xieguanxiong    时间: 2012-3-3 12:37
不能,只能是int和枚举型
作者: tanlei200620    时间: 2012-3-3 19:01
楼上         xieguanxiong            误人,java 7 都支持了,还抱住 java  5 不放,,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2