由于小编自己的编译环境jdk用的是比较高,在命令窗口输入java -version即可看到。(打开命令窗口win+R,输入cmd,回车)
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
String类型一直可以当做Switch的参数,编译和运行都没有出错。一次在资深程序大神的博客看到的,在jdk1.7之前,Switch的参数类型在 Java 7之前,switch 只能支持 byte、short、char、int或者其对应的封装类以及 Enum 类型。在 Java 7中,String支持被加上了。
试了一下,如在jdk 1.7 之前的版本使用, 会提示如下错误:
Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted
意为jdk版本太低,不支持。
如有什么不对或者疑问,欢迎提意见!!!