JAVA中SWITCH为什么不能使用LONG型作参数?
JAVA中SWITCH为什么不能使用LONG型作参数? 20
https://zhidao.baidu.com/question/170837593.html
看到一道题:swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
我看书上说的LONG 是长整型,长度是8,范围是 -9223372036854775808 ~ 9223372036854775807 很大..,意思Long也是整数,为什么不能传给SWITCH呢?望高人指点。收起
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
我看书上说的LONG 是长整型,长度是8,范围是 -9223372036854775808 ~ 9223372036854775807 很大..,意思Long也是整数,为什么不能传给SWITCH呢?望高人指点。收起
我有更好的答案
推荐于2017-09-15 12:22:22
最佳答案
swtich()里面必须是int和enum--即枚举类型。
short、 char 或者 byte他会自动转换为int的。。
long不能自动转换为int..
因为long比int范围大..可能会丢失精度..
其他回答