Java 1.7仍然告诉我switch语句中的字符串是不兼容的

时间:2014-09-10 15:06:41

标签: java string intellij-idea compiler-errors switch-statement

我在intellij中使用java 1.7并且它给了我一个编译错误,好像我使用的是1.7之前的版本。说,“不兼容的类型。发现'java.lang.String'。必需'byte,char,short或int'。

我正在喋喋不休地想弄清楚为什么会这样。感谢

3 个答案:

答案 0 :(得分:14)

您需要在IDE中更改语言级别。

检查以下设置:

  • 文件>项目结构>项目> Project SDK
  • 文件>项目结构>项目>项目语言水平
  • 文件>项目结构>模块>你的模块>来源>语言水平
  • 文件>项目结构>模块>你的模块>依赖性>模块SDK

同时检查编译器设置。有时它会为编译器添加额外的参数:

  • 文件>设置>编译器> Java编译器>字节码版本

如果您使用maven插件启用自动导入。然后,您的pom.xml设置会自动检测语言级别。

答案 1 :(得分:1)

在您的项目设置中,您最有可能使用java编译器java 1.6或更早版本。 将其更改为java 1.7

答案 2 :(得分:0)

我认为您已在系统上安装了多个JDK,或者您正在使用与IDE intellij捆绑在一起的默认JDK。尝试使用this链接将JDK路径更改为系统上安装的1.7或更高版本的路径 或者将JDK更新为最新版本