腾讯曾出过这么道题:
在java7中,下列不能做switch()的参数类型是?
A.整型 B.枚举类型 C.字符串 D.浮点型
是不是感觉很意外?这些细节一般是很难注意到的,下面我们看实验。
public static void main(String[] args) {
String s= "one";
switch(0.01){//这里编译报错了
}
}
错误为:
Cannot switch on a value of type double. Only convertible int values, strings or enum variables are permitted
所以我们看到,从提示中,已经给出swith()参数类型只支持 int(整型)、string(字符串)、enum(枚举)三种类型。
当然,我们还要考虑类型自动转换啦,这里不详细叙述。