Intellij Idea 增强型交换机有哪些好处?

ctehm74n  于 2024-01-05  发布在  其他
关注(0)|答案(1)|浏览(117)

最近,我们将代码库从Java 8升级到Java 17。从那时起,IntelliJ IDEA警告旧的switch-case语句:
Switch语句可以替换为增强的'switch'
除了可读性之外,增强的开关还有什么好处?
示例:java 8 switch:

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

字符串
在接受Switch statement can be replaced with enhanced 'switch'之后,它看起来像这样:

  1. switch (foo) {
  2. case "bla" -> { return 1; }
  3. case "bla_bla" -> { return 2; }
  4. }

yptwkmov

yptwkmov1#

IntelliJ blogpost介绍了增强型交换机的三大优势:
1.简洁的代码。
1.可以返回一个值。
1.不需要使用break。在没有break语句的情况下,控件不会通过开关标签,这有助于避免逻辑错误。
在您的特定范例中,您已经从switch陈述式传回,而增强的switch陈述式可能不会提供太多。当旧的switch使用值指派和中断时,增强的switch会改善程式码。例如:

  1. int height = 0;
  2. switch (size) {
  3. case S:
  4. height = 18;
  5. // missing break (bug)
  6. case M:
  7. height = 20;
  8. break;
  9. case L:
  10. height = 25;
  11. break;
  12. }

字符串
其增强为:

  1. int height = 0;
  2. switch (size) {
  3. case S -> height = 18;
  4. case M -> height = 20;
  5. case L -> height = 25;
  6. }


然而,如果你不想再收到这个警告,你可以在IntelliJ IDEA中关闭它。要做到这一点,打开首选项,然后转到编辑器->检查(我使用的是2023.1版)。搜索警告(Switch statement can be replaced with enhanced 'switch')(的一部分)并取消选择它。

展开查看全部

相关问题