[英]Java 1.7 still telling me that strings in switch statements are incompatible
我在 intellij 中使用 java 1.7,它给我一个编译错误,就好像我使用的是 1.7 之前的版本一样。 说,“不兼容的类型。找到'java.lang.String'。需要'byte,char,short或int'。
我正在绞尽脑汁想弄清楚这是为什么。 谢谢
您需要在IDE中更改语言级别。
检查以下设置:
还要检查编译器设置。 有时它会为编译器添加额外的参数:
如果您使用maven插件启用自动导入。 然后将从您的pom.xml
设置自动检测语言级别。
在您的项目设置中,您最有可能使用java编译器java 1.6或更早版本。 将其更改为java 1.7
我认为您已在系统上安装了多个JDK,或者您正在使用与IDE intellij捆绑在一起的默认JDK。 尝试使用此链接将JDK路径更改为1.7或更高版本(如果已安装在系统上)或将JDK更新为可用的最新版本
我这样解决了我的情况:
智能
文件 -> 项目结构 -> 项目 -> 项目语言级别:
在选项框中,我选择了选项:
14 - 切换表达式
如果将此添加到pom.xml
文件,它将解决关键部分是source 1.8
的问题:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.