Coh*_*ius 0 java intellij-idea switch-statement
最近,我们将代码库从 Java 8 升级到 Java 17。从那时起,IntelliJ IDEA 就会对旧的 switch-case 语句发出警告:
switch 语句可以替换为增强的“switch”
除了可读性之外,增强型开关还有哪些好处?
示例:java 8 开关:
switch (foo) {
case "bla": return 1;
case "bla_bla": return 2;
}
Run Code Online (Sandbox Code Playgroud)
接受后Switch statement can be replaced with enhanced 'switch'
看起来像这样:
switch (foo) {
case "bla" -> { return 1; }
case "bla_bla" -> { return 2; }
}
Run Code Online (Sandbox Code Playgroud)
IntelliJ 博客文章讨论了增强型交换机的三个好处:
\nbreak
。如果没有break语句,控件不会通过开关标签,这有助于避免逻辑错误。在您的特定示例中,您已经从 switch 语句返回,而增强的 switch 语句可能不会提供太多功能。当旧开关使用值分配和中断时,增强型开关改进了代码。例如:
\nint height = 0; \n switch (size) {\n case S:\n height = 18;\n // missing break (bug)\n case M:\n height = 20;\n break;\n case L:\n height = 25;\n break;\n }\n
Run Code Online (Sandbox Code Playgroud)\n其增强为:
\nint height = 0; \n switch (size) {\n case S -> height = 18;\n case M -> height = 20;\n case L -> height = 25;\n }\n
Run Code Online (Sandbox Code Playgroud)\n但是,如果您希望不再收到此警告,可以在 IntelliJ IDEA 中将其关闭。为此,请打开首选项,然后转到编辑器 -> 检查(我使用的是版本 2023.1)。搜索(部分)警告 ( Switch statement can be replaced with enhanced \'switch\'
) 并取消选择它。
归档时间: |
|
查看次数: |
1999 次 |
最近记录: |