Switch 和 enhanced switch 除了可读性之外还有什么区别吗?

问题描述 投票:0回答:1

自从我们从 Java 8 升级到 Java 17 后,IntelliJ 对旧的 switch-case 语句发出警告:

Switch语句可以用增强的'switch'替换

除了可读性之外还有什么区别吗?

示例:java 8 开关:

        switch (foo) {
            case "bla": return 1;
            case "bla_bla": return 2;
        }

接受后

Switch statement can be replaced with enhanced 'switch'
看起来像这样:

        switch (foo) {
            case "bla" -> { return 1; }
            case "bla_bla" -> { return 2; }
        }
java intellij-idea switch-statement
1个回答
0
投票

在此特定示例中,您已经从 switch 语句返回,增强的 switch 语句现在可能不会为您提供太多帮助。但是,switch 语句得到增强是有原因的。如果您想了解更多,我推荐这篇博文

但是,如果您希望不再收到此警告,可以在 IntelliJ IDEA 中将其关闭。为此,打开 Preferences,然后转到 Editor -> Inspections(我使用的是 2023.1 版)。搜索(部分)警告 (

Switch statement can be replaced with enhanced 'switch'
) 并取消选择它。

© www.soinside.com 2019 - 2024. All rights reserved.