黑马程序员技术交流社区

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

作者: zhao543    时间: 2017-3-21 19:16
标题: switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
byte可以,long,String 不行
原因:在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,
由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不
符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
作者: starhub    时间: 2017-3-22 10:53
可以的

作者: 小麦芽    时间: 2017-3-22 11:15
switch expr1 表达式 支持的类型有byte、short、char、int、enum(Java 5)、String(Java 7)。
作者: 情不知所起    时间: 2017-3-22 12:13
switch 在1.7版本支持String了
可以串字符串数据进去了。
作者: 情不知所起    时间: 2017-3-22 12:14
求告知。case后边的参数能不能使用正则表达式
作者: 情不知所起    时间: 2017-3-22 12:14
我先试验下,switch增强了好多
作者: linzpcom    时间: 2017-3-22 13:31
小麦芽 发表于 2017-3-22 11:15
switch expr1 表达式 支持的类型有byte、short、char、int、enum(Java 5)、String(Java 7)。 ...

学习了

作者: mrwalker    时间: 2017-3-23 09:37
我以为能支持所有类型,谢谢分享
作者: lwever    时间: 2017-3-31 19:31
表达式的可以是:byte short  int char
作者: lwever    时间: 2017-3-31 19:32
表达式的可以是:byte short  int char
在jdk1.5的时候,表达式的值可以是:枚举
在jdk1.7之后,表达式的值是 String
作者: zxcasdf555    时间: 2017-3-31 21:01
不清楚,给个结论行不?




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