У меня возникла странная проблема.Ошибка компиляции в случае оператора switch с переменной ENUM и FINAL?
У меня есть статическая конечная переменная, объявленная, но не инициализированная. У меня есть частный метод xyz(), внутри которого у меня есть оператор Switch.
Но я делаю ставку на ошибку времени компиляции: «Конечное поле ABC не может быть назначено» - «Удалить последний модификатор ABC».
P.S. Ключ переключателя проверяет значение, возвращенное из ENUM
Просьба помочь мне.
Вот код: -
private static final String ABC;
private void xyz(){
switch(ENUMImpl.getCountry()){ //** ENUMImpl is an ENUM class with a method getCountry() which returns the ENUM value
case COUNTRY1:
ABC = "TMZ"; // The final field ABC cannot be assigned :: Remove final modifier of ABC
break;
default:
ABC = "NA";
break;
}
}
Поля 'final' могут быть назначены напрямую или с помощью статического инициализатора. – Tunaki