Метод equals()
в Java используется для сравнения содержимого двух объектов. По умолчанию, в классе Object
, он сравнивает ссылки на объекты, то есть определяет, указывают ли две переменные на один и тот же объект в памяти.
Однако, большинство классов в Java (например, String
, Integer
) переопределяют этот метод, чтобы сравнивать значения, содержащиеся в объектах, а не их ссылки.
При переопределении equals()
важно соблюдать его контракт:
x.equals(x)
должно быть true
для любого ненулевого x
.x.equals(y)
должно быть true
тогда и только тогда, когда y.equals(x)
истинно для любых ненулевых x
и y
.x.equals(y)
и y.equals(z)
истинны, то x.equals(z)
также должно быть истинно для любых ненулевых x
, y
и z
.x.equals(y)
должны возвращать тот же результат, при условии, что объекты не изменялись.Пример
Метод equals()
в Java используется для сравнения содержимого двух объектов. По умолчанию, в классе Object
, он сравнивает ссылки на объекты, то есть определяет, указывают ли две переменные на один и тот же объект в памяти.
Однако, большинство классов в Java (например, String
, Integer
) переопределяют этот метод, чтобы сравнивать значения, содержащиеся в объектах, а не их ссылки.
При переопределении equals()
важно соблюдать его контракт:
x.equals(x)
должно быть true
для любого ненулевого x
.x.equals(y)
должно быть true
тогда и только тогда, когда y.equals(x)
истинно для любых ненулевых x
и y
.x.equals(y)
и y.equals(z)
истинны, то x.equals(z)
также должно быть истинно для любых ненулевых x
, y
и z
.x.equals(y)
должны возвращать тот же результат, при условии, что объекты не изменялись.Пример
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.