Сравнение ссылок в Java

Скажем, что вы переопределили методы equals() и hashCode() объекта, чтобы они использовали поля объекта.

Как вы проверяете, соответствуют ли две ссылки одному и тому же объекту, ala метод equals() акции?

Ответ 1

Используйте == для объектов для сравнения идентичности.

Это то, что делает реализация по умолчанию equals(), но обычно переопределяет equals(), чтобы служить в качестве проверки "эквивалентного содержимого".

Ответ 2

То, что делает оператор ==.

Ответ 3

Бахавиром по умолчанию equals() является сравнение двух объектов с помощью оператора ==. Поэтому, если вы хотите использовать bahaviour по умолчанию ==, если вы хотите, чтобы ваше переопределенное поведение использовало equals().

Ответ 4

use == Operator, потому что он сравнивается со ссылкой не с контентом, если вы хотите сравнить с содержимым, вы можете использовать метод equals().

Ответ 5

Если вам нужно сделать это для JUnit Assertion, вы также можете использовать Assert.assertSame()