В классе Object метод equals() является просто сравнением двух ссылок, именно по этому мы и переопределяем его в пользовательском классе. Но сравнения полей 2 разных объектов внутри нашего equals() мы сравниваем опять же через equals(). Собственно вопрос какой метод вызывается внутри нашего, ведь в стандартной реализации 2 поля разных объектов никак не могут быть равны согласно equals() по умолчанию?
public boolean equals(Object obj) {
return o.equals(obj.o); <--- Реализация этого метода интересует.
}
Никита
35 уровень
Какой equals() работает внутри equals()?
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
--------Master
19 августа 2018, 13:40полезный
в стандартной реализации 2 поля разных объектов никак не могут быть равны согласно equals() по умолчанию?
Почему не могут, что этому мешает? Тем более что у большинства классов метод переопределен в соответствии с особенностями этих классов
+1
НикитаJava Developer в NIX Solutions
19 августа 2018, 13:50
Ага, т.е. сравнивая два String внутри пользовательского equals() используется String.equals()?
Не, ну логично же. Спасибо)
+1