【问题标题】:How to fix '<>'operator is not allowed for source level 1.7如何修复源级别 1.7 不允许使用“<>”运算符
【发布时间】:2016-10-24 12:06:12
【问题描述】:

我使用的是 JDK 1.8.0。当我将代码导入 Eclipse 时,出现错误:

''操作符不允许用于源级别 1.7

例子:

List<String[]> errors = new ArrayList<>();

我正在使用 Eclipse Kepler

【问题讨论】:

标签: java eclipse


【解决方案1】:

有时我看到 Eclipse 对 Java 目标版本感到困惑,并抛出不正确的消息(即使项目设置正确以支持 Java 7)。修复它的最简单方法是更改​​目标版本,然后将其更改回预期的目标版本。

可以通过打开项目属性对话框(右键单击项目,然后选择Properties)检查此版本,并检查两个选项卡上的设置:

  1. Java Compiler选项卡:检查是否有任何特定设置,例如始终使用JDK版本等。默认情况下,此处的所有设置都设置为“Java构建路径上的“使用来自执行环境'JavaSE-1.x'的合规性” ’。” (其中 x 是 Java 版本)。如果在此处选择了特定的 Java 版本(Java 7 之前的版本),则选择您所针对的版本,您就应该完成了。如果设置了前面提到的复选框,则执行第 2 步。
  2. Java build path 选项卡:转到库,并相应地编辑 JRE 系统库。

同样,如果两个设置似乎都正确,请更改后者,重新构建您的项目(例如关闭您的对话框),然后将其改回并重新构建。

备注:如果您使用的是 Maven/Gradle 项目,您可以在 Maven/Gradle 配置中编辑这些设置。

【讨论】:

    【解决方案2】:

    需要在eclipse中将“Compiler compliance level”的值更新为1.7或更高。步骤如下:

    1. 在 Eclipse 中打开项目
    2. 右键单击项目并转到属性
    3. 在“属性”面板中:单击左侧的“Java 编译器”并从下拉列表中将“编译器合规级别”的值更新为 1.7 或更高。
    4. 单击应用和确定按钮

    【讨论】:

      【解决方案3】:

      将此添加到您的 pom.xml 中,位于 &lt;project&gt; 下方。

      <build>
          <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <version>3.5.1</version>
                  <configuration>
                      <source>1.8</source>
                      <target>1.8</target>
                  </configuration>
              </plugin>
          </plugins>
      </build>
      

      很可能是默认的 Eclipse Maven 配置将项目的 JDK 版本设置为 1.5 - 天知道为什么。这会将其设置为 1.8。

      【讨论】:

      • 对我来说这还不够,还需要正确单击项目并选择 Maven->更新项目
      【解决方案4】:

      升级到 Eclipse Mars 或最新版本的 Neon:

      https://www.eclipse.org/downloads/

      【讨论】:

      • 请更新您的答案并解释为什么 OP应该这样做。
      【解决方案5】:

      在 pom (maven) 的部分中插入 8 对我有帮助。

      【讨论】:

      • 8”在“”部分
      【解决方案6】:

      尝试以下方法:

      List<String[]> errors = new ArrayList();
      

      或,

      List<String[]> errors = new ArrayList<String[]>();
      

      或者,在 Eclipse 中将您的项目编译器合规级别更改为 1.7 或更高。

      【讨论】:

      • 这一行有多个标记 - ArrayList 类型的参数数量不正确;它不能使用参数 进行参数化 - 1.7 以下的源级别不允许使用“”运算符
      • 你能发布你的导入吗?
      • 我正在使用开普勒。在下拉列表中我只能看到 1.7
      • 设置为 1.7 就可以了。
      • 是的,我做到了。但也有同样的问题。
      猜你喜欢
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-13
      • 2017-02-14
      • 2020-12-27
      相关资源
      最近更新 更多