2

Почему Android Studio подчеркивает переменные info, format?

В swith предупреждение о возможном null. Задание учебное и ничем, никем не используется. Но тем не менее, это нужно обыграть как-то особенно или предупреждение будет висеть все время? Добавление ветки default или try-catch предупреждение не убирают.

Скриншот

Viewed
  • 1,408
  • Это проверка на граматику. – UjinUkr Feb 28 '19 at 12:05
  • 3
    Грамматика подчеркивается зеленым. Из того кода, что приведен (без default), info и format действительно могут быть null. А вообще - и intent.getAction() может быть null. Попробуйте прописать перед ним что-то типа assert (intent) != null; – Jarvis_J Feb 28 '19 at 12:09
  • у вас в switch обработаны не все случаи. Добавьте default поведение – Виталий Робиновский Feb 28 '19 at 12:12
  • 3
    @Jarvis_J перед switch проверкой if (info != null) предупреждение уходит, благодарю. – Viewed Feb 28 '19 at 12:17
  • @UjinUkr что значит грамматика? Эти слова не пересекаются с зарезервированными. Я хоть икс сделаю, подчеркнет. – Viewed Feb 28 '19 at 12:17
  • @ВиталийРобиновский с default предупреждение не уходит – Viewed Feb 28 '19 at 12:17
  • 1
    Грамматика в данном случае означает наличие слова в словаре английского языка, а не пересечение с зарезервированным. – Эникейщик Feb 28 '19 at 13:19

1 Answers1

4

Ответ найден. Подчеркивание переменной есть цветовая настройка редактора. В данном случае для переназначенной переменной.

Нужно снять галку Effects. Убрать можно здесь:

File -> Settings -> Editor -> Color Scheme -> Java -> Variables -> Reassigned local variable

Источник: раз, два

На второй вопрос дан ответ в комментариях. Необходимо до switch реализовать проверку на null.

Viewed
  • 1,408