【问题标题】:Upgrading Java 7 to Java 8 - Is Java 8 String switch deprecated?将 Java 7 升级到 Java 8 - Java 8 字符串开关是否已弃用?
【发布时间】:2014-11-07 20:06:44
【问题描述】:

我在互联网上查找此内容时遇到问题,但我刚刚将我的 java 从 1.7 升级到 1.8,现在我看到不再支持 diamond 运算符。

我对此没意见,但字符串 switch 语句似乎也被删除了。这让我很困惑,因为 oracle 文档说这仍然受支持。

我可能在 Intellije 中使用了错误的 java 版本吗?

这是我的 POM maven 编译器配置:

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.0</version>
            <configuration>
                <encoding>UTF-8</encoding>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

我的 Java 编译器设置也设置为 1.8(模块使用 JDK 默认)。

这实际上被弃用了吗?还是我只是做错了什么?

哪个 java 命令返回 java 8。

maven 版本也返回 java 8。

这不再起作用(如果不清楚):

 switch("some string"){
     case "some string":
           //some code
          break;
     default:
         //some code
  }

【问题讨论】:

  • 看起来更像是您的 ide 中的问题。您使用的是哪个版本的 Idea?
  • 你安装了 Java 8 吗?
  • @Luiggi Intellije 12.1.7 Ultimate。
  • @MadProgrammer 是的 - 它已安装
  • 相关设置不在显示的对话框中,而是在“项目结构”对话框中。检查项目设置->项目下的“项目SDK”和“项目语言级别”,并验证语言级别没有在模块级别被覆盖。

标签: java maven intellij-idea upgrade java-8


【解决方案1】:

谢谢大家!问题出在 Intellij,而不是 Java 8。我只需要更新我的项目设置。这是页面的屏幕截图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 2018-10-01
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    相关资源
    最近更新 更多