switch的参数要求是整数型,为什么可以转递char型?
而在基本的数据类型中baty,short,int,long都是整数类型,为什么long不可以做switch的参数?
希望指教,菜鸟级。
那个char型是不是加了单引号了
比如 'a'
从理论上说必需是int,
由于char,byte,short可以转成int,所以也算可以。
其他类型就不可以了,long估计是不是不能转换成int,所以不行。
cahr类型在java语言中实际是有整型值存在的,故可以使用char类型作为switch的参数,long在java语言中是长整型,可以是32位或64位,而switch的参数要求是整型。而long类型的变量时一个对象,对象不能做为switch的参数
switch允许的参数类型:byte,short,int,char,enum
char是一个无符号16位原始类型整数
而long 是长整型