Какая польза от переопределения метода equals в Java?
Какая польза от переопределения метода equals в Java?

Видео: Какая польза от переопределения метода equals в Java?

Видео: Какая польза от переопределения метода equals в Java?
Видео: Java. Методы equals и hashCode. 2024, Ноябрь
Anonim

Переопределение равно и hashCode в Джава

равно () метод является использовал для сравнения объектов на равенство, пока hashCode равен использовал для генерации целочисленного кода, соответствующего этому объекту

В чем смысл метода equals в Java?

В равно () метод сравнивает два объекта на равенство и возвращает истину, если они равный . В равно () метод предоставляется в классе Object использует оператор идентичности (==), чтобы определить, являются ли два объекта равный . Для примитивных типов данных это дает правильный результат.

Кроме того, как переопределить метод equals в Java? В приведенном выше фрагменте кода класс Person имеет переопределенный метод equals (), который использует следующий пошаговый подход:

  1. Если ссылка на этот объект совпадает со ссылкой на объект аргумента, верните true.
  2. Если аргумент равен нулю, верните ложь.
  3. Если объекты не принадлежат к одному классу, верните false.

Соответственно, зачем нам переопределять метод equals в Java?

Класс String отменяет в метод равенства он унаследован от класса Object и реализовал логику для сравнения двух объектов String посимвольно. Причина метод равенства в классе Object ссылается на равенство, потому что он не знает, как делать что-либо еще.

Какая польза от переопределения метода hashCode и equals в Java?

если класс отменяет равно , это должно переопределить hashCode . когда они оба отвергнутый , равно а также хэш-код должен использовать тот же набор полей. если два объекта равный , то их хэш-код ценности должны быть равный также. если объект неизменен, то хэш-код является кандидатом на кеширование и отложенную инициализацию.

Рекомендуемые: