switch 是否能作用在 byte 、long、String ?

在 Java 5 以前,switch(expr)中,expr只能时int或这能转化为int型的byte,short,char。
从 Java 5 开始,Java中引入了枚举类型,expr 也可以是 enum 类型。
从 Java 7 开始,expr 还可以是字符串(String)

●switch可作用于char byte short int
●switch可作用于char byte short int对应的包装类
●switch不可作用于long double float boolean ,包括他们的包装类
●switch中可以是字符串类型,String(JDK1.7之后才可以作用在string上)
●switch中可以是枚举类型(JDK1.5之后)

在 switch( expr1)中, expr1 只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是 int基本类型或 Integer 包装类型,由于, byte,short,char 都可以隐含转换为 int,所以,这些类型以及这些类型的包装类型也是可以的。

显然, long 和 String 类型都不符合 switch 的语法规定,并且不能被隐式转换成 int类型,所以,它们不能作用于 swtich 语句中。

另外由于 JDK1.7 中引入新特性,所以 swtich 语句可以接收一个 String 类型的值, String 可以作用在 swtich 上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值