Java. Сравнение объектов с оператором ==

Существует два способа сравнить объекты в языке Java:


  • Оператор ==
  • Оператор equals()

Первый, наиболее употребляемый, сравнивает объекты на равенство. Другими словами, выражение:

возвратит true тогда и только тогда, когда a и b ссылаются точно на тот же экземпляр класса (то есть, на тот же объект). Исключение составляют примитивы. При сравнении двух примитивов с использованием оператора == система времени исполнения Java сравнивает их значения (они не являются настоящими объектами). Попробуйте поместить этот код в main() и взгляните на результат, отображаемый в консоли:

Первое сравнение возвращает true , поскольку сравниваются примитивы с одинаковыми значениями. Второе сравнение возвращает false , поскольку две переменные не ссылаются на один и тот же экземпляр объекта.

Третье сравнение возвращает true , потому что две переменные теперь ссылаются на один и тот же экземпляр. Если сделать то же самое с нашим классом, мы тоже получим false , потому что adult1 и adult2 не ссылаются на один и тот же экземпляр.


Похожие записи:

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля отмечены *