Загружаем изображение…

== vs equals() — в чём разница?



Один из самых распространённых вопросов на собеседованиях по Java.

== сравнивает ссылки на объекты — то есть проверяет, указывают ли две переменные на один и тот же объект в памяти.

equals() сравнивает содержимое объектов. Но только если класс корректно переопределил этот метод. Например, у String equals() сравнивает текст, а не ссылки.

Пример:
String a = new String("Java");
String b = new String("Java");

System.out.println(a == b); // false
System.out.println(a.equals(b)); // true

Запомните простое правило: для сравнения объектов почти всегда используйте equals(), а == оставьте для примитивов, enum, проверки на null и случаев, когда действительно нужно сравнить ссылки.
Просмотры: 78
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти