在JDK1.6的版本中,switch后面的括号里面只能放int类型的值,注意是只能放int类型,

但是放byte,short,char类型的也可以。

是因为byte,short,shar可以自动提升(自动类型转换)为int。

而不能放long型和String型。

而在JDK1.7的版本中,switch中可以使用字串String。但仍不支持long型。

         String name = "b";
switch(name) {
case "b":
System.out.println("String可以用于switch语句");
break;
} //可以运行
        long long_s = 22222;
switch (long_s) {
case 22222:
System.out.println("String可以用于switch语句");
break;
} //报错!!!

【注】

即使JDK的版本为1.7,在myeclipse 也提示switch不能支持string。

这是因为myeclipse支持的jdk版本目前还不到1.7
compiler level最高才到6。

而换用Eclipse后即是没有问题的。

05-11 14:00