Почему локальная переменная все еще показывает предупреждение, хотя значение используется в методе? - PullRequest
0 голосов
/ 06 марта 2019
 boolean flag = false;
 String s1= "Bharath";
 String s2 = null;
 flag = s1.equals(s2);

Я инициализировал флаг со значением как false при объявлении, и я использовал его в том же методе, но он все еще показывает предупреждение.В чем причина?

Ответы [ 2 ]

2 голосов
/ 06 марта 2019

вы только объявили флаг переменной, но нигде не использовали и не читали его, поэтому он показывает предупреждение.Просто поставьте System.out.println(flag);, оно уйдет.

0 голосов
/ 06 марта 2019

Как уже было сказано в комментариях. Вы инициализировали переменную flag со значением false, которое никогда не читалось, а затем переопределялось с помощью s1.equals(s2). Так что первое назначение было ненужным.

Обходной путь: присваивайте значения переменным при необходимости. Не назначайте значения по умолчанию переменным, если вам это не нужно.

Example1:

boolean flag;
String s1 = "Bharath";
String s2 = null;
flag = s1.equals(s2);

Пример2:

String s1 = "Bharath";
String s2 = null;
boolean flag = s1.equals(s2);

Если переменные имеют «фиксированные» значения и не имеют отступов для изменения, вы также можете использовать ключевое слово final.

final boolean flag;
String s1 = "Bharath";
String s2 = null;

// flag will never change
flag = s1.equals(s2);
// not allowed, because final
// flag = true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...