如何将if-else if语句自动转换为switch

How to automatically convert if-else if statement to switch

在 IntelliJ 中是否有热键或简单的方法来用 switch 替换 if-else if 语句?我不想手动将 if-else if 语句转换为开关。我希望能够突出显示 if-else if 语句并按下组合键或使用菜单按钮。

更新:正如@christopheml 在对另一个答案的评论中指出的那样,"Replace If with Switch" 似乎在 IntelliJ 2018.1 中消失了。已提交错误 here


有名为 "Replace If with Switch" 和 "Replace Switch with If" 的 IntelliJ 意图。检查您的首选项以查看是否启用了这些选项。如果是这样,我希望您会看到一个 quickfix 选项 (Option+Enter on Mac, Alt +在 Windows 上输入 )只要 IntelliJ 可以自动处理从一个到另一个的转换。

我刚刚发现你必须点击第一个 if,等待灯泡图标出现,然后选择 Replace if with Switch

在 Eclipse 中选择 if/switch 时,按 Ctrl+1 或右键单击 -> 会弹出快速修复和建议。

Android 工作室(intelliJ idea):

将光标放在 switch/if 语句上,然后:

mac: 选项 + return

获胜:alt + enter

如果它不再提供替代品,可能是因为 "Intentions" 上的功能被禁用了。 (Android 工作室 (IntelliJ))

解决方法很简单:

  • 文件 > 设置 > 编辑器 > 意图 - 搜索:"replace switch"

  • 文件 > 设置 - 搜索:"replace switch" > 编辑器 > 意图

并选中空白复选框

结帐设置

  • 条件分支的最小数量'if':3
  • 仅建议 null-safe 个表达式
  1. Select 双击切换关键字
  2. 将出现左建议灯泡。
  3. 点击建议将 switch 替换为 else。

这适用于 android 工作室。它在我的案例中有效