繁体   English   中英

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

[英]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中更改语言级别。

检查以下设置:

  • 文件>项目结构>项目>项目SDK
  • 文件>项目结构>项目>项目语言级别
  • 文件>项目结构>模块>您的模块>来源>语言级别
  • 文件>项目结构>模块>您的模块>依赖关系>模块SDK

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

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

如果您使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM