Java-switch详解

switch用于多分支选择,使用时的规则是switch(expr),其中expr只能是一下两种:

  • 枚举常量
    内部是由整型或者字符类型实现

  • 整数表达式
    整数表达式指的是基本类型int或者包装类Integer,也包括不同的长度整型,例如short。


换一种说法,整型或者能够隐式转换为int类型的基本类型或者包装类可以,包括:
int,Integer,byte,Byte,short,Short,char,Character

不可以直接当做switch参数的有:long,float,double,String
如果非要用他们,只能将其强制转换为int


case后面接的可以使常量数值,也可以是常量计算式,但是不能使变量或者是带有变量的表达式。


随着Java的发展,在Java 7中,switch开始支持String类型了。
原理剖析:通过对case后面的String对象调用hashcode()方法,返回int型的哈希码值,然后用哈希码值来唯一标识这个case,如果哈希码值匹配,会继续调用equals来进行判断,因此String的值和case后面的字符串都不能为null。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值