JAVA中SWITCH为什么不能使用LONG型作参数?
检举 | 2010-7-30 11:50 提问者: zhouyang00001 | 浏览次数:1676次
看到一道题:swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
我看书上说的LONG 是长整型,长度是8,范围是 -9223372036854775808 ~ 9223372036854775807 很大..,意思Long也是整数,为什么不能传给SWITCH呢?望高人指点。
我来帮他解答
2010-7-30 11:56 满意回答
swtich()里面必须是int和enum--即枚举类型。
short、 char 或者 byte他会自动转换为int的。。
long不能自动转换为int..
因为long比int范围大..可能会丢失精度..
14
| 评论
向TA求助
回答者: Jseven_jy | 九级采纳率:31% 名人
擅长领域: JAVA相关 程序设计 C/C++
参加的活动: 暂时没有参加的活动
提问者对回答的评价:
解惑了,感谢大家!