您的位置:首页 > 其它

关于switch语句中使用String类型的实现原理

2017-06-15 13:52 344 查看
在Java 7 以后,
switch
语句可以用作String类型上。

从本质来讲,
switch
对字符串的支持,其实也是int类型值的匹配。它的实现原理如下:

通过对
case
后面的String对象调用
hashCode(
)方法,得到一个int类型的Hash值,然后用这个Hash值来唯一标识着这个
case


那么当匹配的时候,首先调用这个字符串的
hashCode()
方法,获取一个Hash值(int类型),用这个Hash值来匹配所有的
case


如果没有匹配成功,说明不存在;如果匹配成功了,接着会调用字符串的
equals()
方法进行匹配。

由此看出,String变量不能是null;同时,
switch
case
子句中使用的字符串也不能为null。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐