Как уже было сказано в комментариях. Вы инициализировали переменную 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;