【问题标题】:switch on string not working on jdk8打开字符串在 jdk8 上不起作用
【发布时间】:2018-05-21 05:10:37
【问题描述】:

我知道字符串上的“开关”在 java 7 之前是不可行的,并且只在 java 7 和更高版本中实现。 但我使用的是 java 8,但仍然收到错误消息“无法打开字符串”。 谁能解释一下为什么以及如何解决它?

【问题讨论】:

  • 不应该发生...可能你选择的JDK低于1.8
  • @Amit :不,我重新检查了版本...它是 jdk 1.8...
  • 那你不是真的在使用Java8。去检查你的路径,分别在你的 IDE 中设置项目(你可能选择了 Java8 JDK - 但不小心将 兼容模式 设置为 Java 7)。如果不是这种情况,请创建一个minimal reproducible example
  • @GhostCat :但是即使兼容模式设置为 java 7 ,它也应该可以工作.. 不是吗..因为 java 7 有能力
  • @tech_logman True ;-) 喝杯咖啡的时间。因此,请检查兼容模式是否为 Java 6 ...

标签: java string java-8 switch-statement


【解决方案1】:

即使您使用的是JDK 8,也有可能您没有使用 java 8 编译器合规级别。

如果你在eclipse上,你可以这样设置编译器级别:

【讨论】:

  • 不用等待 .. 在 helios 合规级别已设置为“1.7”但我仍然收到错误...想知道为什么?
  • 也许您需要重新清理和构建。使用项目菜单,选择清理,然后选择您的项目。确保在Project 菜单下选中Build Automatically
  • 它以某种方式连接。我真的不记得 eclipse helios 是否支持 JDK 8。可能这就是它不起作用的原因。也许下载更新版本的 Eclipse,如 Luna、Neon 或 Oxygen 可以解决问题。我在 Luna 上,没关系。
  • 为确保您在 Eclipse 上使用正确的 JDK 和路径配置,请按照我在以下答案中直观说明的步骤操作:stackoverflow.com/questions/50245741/… 此答案是关于将 JDK 而不是 JRE 设置为项目查看 JDK 的源代码,但这些步骤应该可以帮助您了解您是否在项目中使用了正确的 JDK。
  • true ,问题已在我已经安装的 Oxygen 中解决,并且合规级别设置为 1.8 。但即使在合规性级别设置为 1.7(重新检查版本和合规性)后,它仍以某种方式在 helios 中持续存在。还在使用 java 版本 8 的终端上进行了尝试,我得到了正确的结果。所以我认为这是一个日食问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 2021-11-17
  • 1970-01-01
相关资源
最近更新 更多