使用字符串错误的IntelliJ switch语句:使用-source 7

我正在尝试使用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)。 但我做到了。 我尝试过以下方法:

  • 首选项>编译器> Java编译器,并将-source 7和/或-target 1.7其他命令行参数
  • 编辑配置:选中使用备用JDK并在目录/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home写入

它还没有解决它。 我究竟做错了什么?

注意:我知道这是显而易见的,因为目录在上面,但我确实安装了Java 7

提前致谢!

在Intellij IDEA,您还应该转到Project Settings – > Project并在那里设置适当的Project language level

如果在遵循建议检查文件>项目结构 – >项目并设置适当的项目语言级别后仍有人收到此错误消息。

还要检查文件>项目结构>模块,以查看所有模块是否都在正确的语言级别:(或特定的所需级别)。

还有一个地方可能出错,即:文件>设置>编译器> Java编译器。 在那里你可以设置项目和模块的java编译器版本。

(对于IntelliJ版本<= 12:项目结构=>项目设置)

请记住,仅在JDK 1.7及更高版本中支持在switch语句中使用字符串。 IntelliJ的默认项目设置可能不是默认使用JDK 1.7。 将它们从项目设置更改为JDK 1.7。