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()判断。把你的程序编译成字节码再反编译回来,看看有什么不一样就行了

你可能感兴趣的:(JAVA中SWITCH为什么不能使用LONG型作参数?)