Java switch 语句支持的数据类型

对于表达式 switch(expr)

  • 在Java5以前,exper只能是byte,short,char,int类型
    byte、short、char类型可以在不损失精度的情况下向上转型成int类型。

  • 从Java5开始,java中引入了枚举类型(enum类型)和byte,short,char,int的包装类
    四个包装类的支持是因为java编译器在底层进行了拆箱操作;
    枚举类型的支持是因为枚举类有一个ordinal方法,该方法实际上是返回一个int类型的数值。

  • 从Java7开始,exper还可以是String类型
    String类中因为有一个hashCode方法,结果也是返回int类型。

所以得出的结论是,switch在底层实现目前只支持整型数据。

具体分析Java中字符串String Switch的实现原理

简单验证

//jdk1.8.0_66 环境
public class MyClass {
    private static long aLong;

    public static void main(String[] args){
        
        switch (aLong){

        }
    }
}

编译器会给出提示

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

相关阅读更多精彩内容

  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 9,820评论 1 44
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,919评论 18 399
  • 每个人心里都有一支白玫瑰和一支红玫瑰。得不到的才是最好的!下次不要退缩,先试一试。不行的话,大不了换条路接着走。
    无药阅读 1,558评论 0 0
  • 问高鉴,何时过来?他说吃过中饭。高鉴前几天就说,到上海开完会,顺便聚一聚。 打电话给卞金宏,告诉他高鉴要来,并让他...
    黄叶村人阅读 2,999评论 2 2
  • 郁积了太久的情绪 从什么时候开始,懒得记下心情 沉静的外表下心里有的是波澜壮阔翻滚般的不宁静 矛盾在生活中日益的凸...
    金面笑飞侠阅读 1,679评论 0 2

友情链接更多精彩内容