Метод «equals» — это метод, определенный в классе Object в Java. Он используется для определения того, равны ли два объекта или нет. Общий синтаксис метода равенства:
public boolean equals(Object obj)
Здесь параметр obj
представляет объект, который вы хотите сравнить с текущим объектом. Метод возвращает true
, если объекты равны, и false
в противном случае.
Реализация по умолчанию метода equals
в классе Object сравнивает адреса памяти объектов. Другими словами, он проверяет, являются ли два объекта одним и тем же экземпляром. Однако это поведение можно переопределить в подклассах, чтобы обеспечить более значимое сравнение на основе атрибутов объекта.
Некоторые распространенные классы, переопределяющие метод equals
, включают:
- String: метод
equals
в классе String сравнивает содержимое двух строк, а не их адреса в памяти. - Integer, Double и другие классы-оболочки: метод
equals
в этих классах сравнивает значения обернутых примитивных типов. - Пользовательские классы. Вы можете переопределить метод
equals
в своих собственных классах, чтобы определить собственные критерии равенства. Часто это делается путем сравнения атрибутов объектов.
Важно отметить, что при переопределении метода equals
вам также следует переопределить метод hashCode
, чтобы обеспечить согласованность между двумя методами.
Подводя итог, можно сказать, что метод equals
в классе Object используется для сравнения объектов на предмет равенства. Его можно переопределить в подклассах, чтобы обеспечить собственные критерии равенства на основе атрибутов объекта.