我正在尝试使用IntelliJ(在Mac OS X上)编译我使用Eclipse编写的一些代码。我试图运行以下代码:
switch (category) {
case "below 20":
below20++;
break;
case "20 to 29":
to30++;
break;
case "30 to 39":
to40++;
break;
case "40 to 49":
to50++;
break;
case "50 to 59":
to60++;
break;
case "60 to 69":
to70++;
break;
case "70 t0 79":
to80++;
break;
case "80 to 89":
to90++;
break;
case "90 to 99":
above90++;
break;
default:
break;
}
然而,我收到错误:
java: strings in switch are not supported in -source 1.6
(use -source 7 or higher to enable strings in switch)
我知道有些答案是:RTFE(即用Error替换Manual)。但我做到了。我尝试过以下方法:
-source 7
和/或-target 1.7
添加到其他命令行参数 /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
它还没有解决它。我做错了什么?
注意:我知道这很明显,因为目录在上面,但我安装了Java 7 。
提前致谢!
答案 0 :(得分:17)
在Intellij IDEA,您还应该转到Project Settings
- > Project
并在那里设置适当的Project language level
答案 1 :(得分:15)
如果在按照建议检查文件>之后仍有人收到此错误消息项目结构 - >项目并设置适当的项目语言级别。
请务必同时检查文件>项目结构>模块,以查看所有模块是否都在正确的语言级别:(或特定的期望级别)。
还有一个地方可能出错,即:文件>设置>编译器> Java编译器。在那里你可以设置项目和模块的java编译器版本。
(对于IntelliJ版本< = 12:项目结构=>项目设置)
答案 2 :(得分:0)
请记住,仅在JDK 1.7及更高版本中支持在switch语句中使用字符串。 IntelliJ的默认项目设置可能不是默认使用JDK 1.7。 将它们从项目设置更改为JDK 1.7。