自从我们从 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; }
}
在此特定示例中,您已经从 switch 语句返回,增强的 switch 语句现在可能不会为您提供太多帮助。但是,switch 语句得到增强是有原因的。如果您想了解更多,我推荐这篇博文。
但是,如果您希望不再收到此警告,可以在 IntelliJ IDEA 中将其关闭。为此,打开 Preferences,然后转到 Editor -> Inspections(我使用的是 2023.1 版)。搜索(部分)警告 (
Switch statement can be replaced with enhanced 'switch'
) 并取消选择它。