【问题标题】:switch-case in Java 1.8 with Eclipse not possible?Java 1.8 中的 switch-case 与 Eclipse 不可能?
【发布时间】:2014-06-17 20:20:31
【问题描述】:

我已经重新安装了我的 Java 8 并获得了一个全新的 Eclipse 版本。

如果我写如下代码:

String a = "001100";

switch(a) {
   case "5": a = "25"; break;
   default: System.exit(0);
}

然后 Eclipse 将红色开关括号中的“a”下划线并显示“将项目合规性和 JRE 更改为 1.7”。 我没有尝试过,因为我使用的是 Java 1.8,这应该可以吗?我不想使用 Java 1.7。

我的 Eclipse 正在设置 Java 1.8,也是这个项目。设置里没有Java低版本....

问题出在哪里?

【问题讨论】:

  • switch case 构造是常量,而字符串值不是常量。此外,您似乎将项目源级别设置为 1.7 而不是 1.8。尝试在项目属性中更改它-

标签: java eclipse string switch-statement


【解决方案1】:

根据this answer,从 JDK7 开始就实现了字符串切换,因此应该切换到 1.7 合规性。据我了解,这不是“切换回”您的 java 版本,而是让您能够使用那些 1.7 功能。

【讨论】:

    【解决方案2】:

    问题很可能是您的语言级别设置在 java 1.7 以下。它与项目使用的 JRE 版本不同。尝试在您的项目设置中找到语言级别并将其设置为 Java 或 Java 7 以使 String 上的此开关正常工作

    【讨论】:

      【解决方案3】:

      您的 Eclipse 使用的 Java SDK 版本低于 1.7。在 Eclipse 中检查您的 Java 编译器级别:

      Windows>Preferences>Java>Compiler>编译器合规级别

      【讨论】:

      • 如果我将特定项目的合规级别设置为 1.7,那么它可以工作。但是,如果我在 Eclipse 中将合规级别设置为 1.7,就像您的回答一样,然后创建一个新项目,那么这个新项目的合规级别再次为 1.4....
      • 如果您右键单击一个项目,然后转到属性,您将仅为该项目更改这些。如果您按照我所说的那样进行操作,那通常是普遍偏好。如果您查看首选项窗口(调整合规级别的窗口)的左上角,标题应该是首选项。此外,在创建项目时,请确保在“使用执行环境 JRE”中选择了正确的 JRE。
      【解决方案4】:

      你必须为eclipse设置默认的JDK版本,以获取所有要在默认JDK版本eclipse中创建的项目。

      知道如何在eclipse中设置默认JDK版本click here

      【讨论】:

      • 我也存在这个错误,我也遵守 1.8,它告诉我切换到 1.7,有什么想法吗??
      【解决方案5】:

      switch 语句中的字符串仅在 JDK 1.7 之后可用

      https://docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html

      您需要检查您的 java 编译器级别并将其更改为 JDK 1.8 或 1.7。

      (右键单击项目,转到首选项,然后查找“Java Compiler”并更改“Compiler Compliance Level”)

      【讨论】:

        猜你喜欢
        • 2016-12-19
        • 2014-07-06
        • 2016-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多