JAVA中SWITCH为什么不能使用LONG型作参数?

swtich()里面必须是int和enum--即枚举类型。

short、 char 或者 byte他会自动转换为int的。。

long不能自动转换为int..

因为long比int范围大..可能会丢失精度..

java把string也'转化'成int了,用string的hash值(int型,hashCode()的返回值)代替string进行switch,然后再对string做一遍equals()判断。把你的程序编译成字节码再反编译回来,看看有什么不一样就行了

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,087评论 18 399
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,494评论 0 16
  • 每当一个事件过后,我最擅长的就是反省,都不用人教,那个内在的老师自然而然地让我由点到面,触类旁通。 学了皮纹之后,...
    凤凰实修作者阅读 1,204评论 11 7
  • Mixin是一款聊天APP,由BigONE的开发者冯晓东做的,XIN是这款产品的发行的代币,而且有币圈大咖老猫支持...
    hiperion阅读 1,114评论 0 0
  • 来医院里这八天,多多少少会对这里抱有牢骚。为什么呢?哎,说起来话就长了,不知道从哪里开始吐槽了。 那就从雾化开始说...
    莺歌学飞阅读 247评论 0 1

友情链接更多精彩内容