Android Studio не предупреждает о неисчерпывающей статистике переключения
Это может быть ошибкой; Однако я не уверен. В 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
enum варианты?
2 ответа
Компилятор не должен выдавать предупреждение, это действие для линтера. Вы можете включить эту функцию в Android Studio. Если вы нажмете кнопку в правом нижнем углу окна Android Studio, которая выглядит как голова маленького чувака, появится кнопка "Настроить проверки".
Затем в разделе "Java-> Control Flow Issues -> Enum" switch ", который пропускает регистр" включите эту опцию.
Нет, они не должны. Неисчерпывающие операторы переключения не являются незаконными. Создание предупреждения в большинстве случаев будет специфичным для компилятора (и, честно говоря, я думаю, что это действительно очень раздражает). В языке нет ничего, что требовало бы от вас компилятора о чем-либо предупреждать. Хотя, вероятно, есть параметр ворса, который включит это, похоже, что тип ворса будет делать.