@Surface-ketch

Почему сравнение разных значений значимого типа возвращает истину?

Доброго времени суток. Почему сравнение разных значений значимого типа возвращает истину в данном случае? Конкретно на 100 строке, условие все время возвращает true, хотя видно, что они не равны.
Скрины дебага
Скрин раз 5fc669fa606f6664639671.png

Скрин два5fc66a22b3c15394836810.png

Кусок кода
@Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                int int1 = editText.getText().toString().length();
                int int2 = currentWord.getEnglishWord().toString().length();

                String string1 = editText.getText().toString();
                String string2 = currentWord.getEnglishWord();

                if(string1.length() == string2.length());
                {
                    if(editText.getText().toString().equals(currentWord.getEnglishWord()))
                    {
                        Toast.makeText(getContext(), "WIIIIIIN!!!!", Toast.LENGTH_SHORT).show();
                    }else
                    {
                        int g =int1 + int2;
                        string1 +=string2;
                        Toast.makeText(getContext(), "LOOOOSE!!!!", Toast.LENGTH_SHORT).show();

                    }
                }
            }


P. S. Через Integer.equals тоже самое, все время истина, как-будто на 100 строке вообще условия нет.
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
А зачем вам точка с запятой в конце выражения if?!!!!
Вы же понимаете, что в этом случае у вас оператор сравнения просто выполняется впустую!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы