Если метод equals()
присутствует в классе java.lang.Object
, и ожидается, что он проверяет эквивалентность состояния объектов! Это означает, что содержимое объектов. В то время как ожидается, что оператор ==
проверяет, что фактические экземпляры объекта одинаковы или нет.
Пример
Рассмотрим две различные ссылочные переменные, str1
и str2
:
str1 = new String("abc");
str2 = new String("abc");
Если вы используете equals()
System.out.println((str1.equals(str2))?"TRUE":"FALSE");
, вы получите выход как TRUE
, если вы используете ==
.
System.out.println((str1==str2) ? "TRUE" : "FALSE");
Теперь вы получите вывод FALSE
в качестве вывода, потому что оба str1
и str2
указывают на два разных объекта, хотя оба они имеют одинаковое строковое содержимое. Именно из-за new String()
каждый новый объект создается каждый раз.
Я нашел проблему ...
Когда проект создается, он строит грейд онлайн / загружает грейд. Как представляется, сеть моей компании заблокировала это, поэтому не может быть построена.
Работая над Hotspot, он отлично работает.
Спасибо за вашу помощь:)
Попробуйте очистить проект в разделе «Сборка», если очистка проекта не помогает попытаться аннулировать кэш и перезапустить проект в разделе «Файл».
Попробуйте:
Справа от Android Studio находится source tree
проекта. Выберите Project
вместо Android
из опций дерева исходных текстов
Теперь удалите файлы и папки .idea
и .gradle
проекта. После этого перестройте проект, если перестроение проекта не работает, перезапустите Android Studio.
Я надеюсь, что это работа для вас.