Ответ 1
Используйте ==
для объектов для сравнения идентичности.
Это то, что делает реализация по умолчанию equals()
, но обычно переопределяет equals()
, чтобы служить в качестве проверки "эквивалентного содержимого".
Скажем, что вы переопределили методы equals() и hashCode() объекта, чтобы они использовали поля объекта.
Как вы проверяете, соответствуют ли две ссылки одному и тому же объекту, ala метод equals() акции?
Используйте ==
для объектов для сравнения идентичности.
Это то, что делает реализация по умолчанию equals()
, но обычно переопределяет equals()
, чтобы служить в качестве проверки "эквивалентного содержимого".
То, что делает оператор ==.
Бахавиром по умолчанию equals() является сравнение двух объектов с помощью оператора ==. Поэтому, если вы хотите использовать bahaviour по умолчанию ==, если вы хотите, чтобы ваше переопределенное поведение использовало equals().
use == Operator, потому что он сравнивается со ссылкой не с контентом, если вы хотите сравнить с содержимым, вы можете использовать метод equals().
Если вам нужно сделать это для JUnit Assertion, вы также можете использовать Assert.assertSame()