【敷衍版】switch能作用的类型(待补充)
java5前,switch(expr)中的expr只能是byte、short、char、int ===> 可以是包装类型吗 & 底层原理/字节码
java5后,由于引入枚举类型,expr也可以是枚举类型 ===> 底层原理/语法糖
java7开始,expr可以是字符串 ===> 语法糖
long型在各版本一直是不行的 ===> 为什么不行,实际C语言也不支持(当然C的各种类型如int本身没有规定固定长度),可能是考虑操作的通用性?比如32位机器上的64位long型可能很多情况下需要两次操作才能放入连续内存,并且没有寄存器能存放一个long型
Java中的 Switch 是如何支持 String 的?为什么不支持 long? - 知乎 (zhihu.com)