Android Studio没有警告非详尽的交换机状态

时间:2017-09-19 15:13:56

标签: java android android-studio enums

这可能是一个错误;但我不确定。在java switch语句中,这些语句并非详尽无遗,应在IDE中产生各种警告。在这种情况下,Android Studio 3.0(B6)

鉴于enum class Foo

public enum  Foo {

  FOO_ONE,
  FOO_TWO
}

然后在switch语句中用作:

switch(fooEnum){
      case FOO_ONE:
     //Do something here 
        break;
    }

编译器是否应该以某种方式警告我,此switch语句不使用所有Foo枚举选项?

2 个答案:

答案 0 :(得分:3)

编译器不应该发出警告,这是一个linter的动作。您可以在Android Studio中启用此功能。如果单击Android Studio窗口右下角的按钮,看起来像一个小家伙的头,则会出现“配置检查”按钮。

然后在“Java->控制流问题 - > Enum'witch'语句中错过大小写”启用该选项。

答案 1 :(得分:2)

不,他们不应该。非详尽的开关语句不是非法的。产生警告最多只是一个编译器特定的选项(事实上,我认为真的很烦人)。语言中没有任何内容需要编译器警告您任何事情。虽然可能会有一个lint设置可以打开它,但似乎是lint会做的事情。