最近,我们将代码库从Java 8升级到Java 17。从那时起,IntelliJ IDEA警告旧的switch-case语句:
Switch语句可以替换为增强的'switch'
除了可读性之外,增强的开关还有什么好处?
示例:java 8 switch:
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; }
}
型
1条答案
按热度按时间yptwkmov1#
IntelliJ blogpost介绍了增强型交换机的三大优势:
1.简洁的代码。
1.可以返回一个值。
1.不需要使用
break
。在没有break语句的情况下,控件不会通过开关标签,这有助于避免逻辑错误。在您的特定范例中,您已经从switch陈述式传回,而增强的switch陈述式可能不会提供太多。当旧的switch使用值指派和中断时,增强的switch会改善程式码。例如:
字符串
其增强为:
型
然而,如果你不想再收到这个警告,你可以在IntelliJ IDEA中关闭它。要做到这一点,打开首选项,然后转到编辑器->检查(我使用的是2023.1版)。搜索警告(
Switch statement can be replaced with enhanced 'switch'
)(的一部分)并取消选择它。