Java常考面试题5 --switch的表达式考察

来源:互联网 发布:陆金所网络投融资平台 编辑:程序博客网 时间:2024/05/20 20:20

问题:switch的表达式是否可以为long?是否可以为string?

答:

Java 5以前,switch(expr)中,expr只能是byte、short、char、int。

从Java 5开始,Java中引入了枚举类型,expr也可以是enum类型,

从Java 7开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。

实例说明:

long key = 1;
switch (key) {
case 1:
break;
default:
break;
}

报错:   Cannot switch on a value of type long. Only convertible int values or enum variables are permitted

String key = 1;
switch (key) {
case 1:
break;
default:
break;
}

Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted

          char key = 'a';
switch (key) {
case 1:
break;
default:
System.out.println(key);
break;
}

运行结果:a

byte key = 'a'; //或者short key = 'a';//或者int key = 'a';
switch (key) {
case 1:
break;
default:
System.out.println(key);
break;
}

运行结果:97    
1 0
原创粉丝点击