美文网首页
Java switch 语句支持的数据类型

Java switch 语句支持的数据类型

作者: 怡红快绿 | 来源:发表于2018-08-10 17:22 被阅读0次

    对于表达式 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

    相关文章

      网友评论

          本文标题:Java switch 语句支持的数据类型

          本文链接:https://www.haomeiwen.com/subject/nuhlbftx.html