intellij-idea 如何抑制开关的异常警告只有一种情况,

tp5buhyn  于 2022-11-01  发布在  其他
关注(0)|答案(2)|浏览(190)

我初始化一个交换机只有1个案例atm,并期待添加更多的以后。

switch(text) {
   case app1:
      return value
   default:
      return default value
}

如何抑制它?我已经尝试了@SuppressWarnings(“all”),@SuppressWarnings(“incomplete-switch”),但是没有效果。谢谢

yrefmtwq

yrefmtwq1#

您需要//noinspection SwitchStatementWithTooFewBranches

//noinspection SwitchStatementWithTooFewBranches
switch(text) {
  // .. 
}

您可以通过将鼠标悬停在错误上,选择“更多操作...",然后展开修复菜单来禁用给定范围的大多数检查:

sauutmhj

sauutmhj2#

要么留下警告--这很烦人,要么创建带有注解的前驱代码

//TODO When *text* can have alternatives, create a switch statement.

TODO注解通常会列在IDE中。
通过这种方式,您可以将代码保持在正确的技术阶段,而不会(毫无根据地?)假设会有更多的情况出现。
当然,这里的真实的问题是,未来的替代风险没有被覆盖。你希望未来的增加将给予一个未来的警告,不是所有的情况都被覆盖。
解决方案可以使用OOP:而不是基类的方法。
例如,使用枚举:

public enum MyEnum { APP1;
    public String getAppName() {
        return "app1";
    }
}

MyEnum text = ...;
return text.getAppName();

相关问题