В чём разница между == и equals() в Java?

Junior
469 просмотров
AFK Offer AI

== сравнивает ссылки — указывают ли две переменные на один и тот же объект в памяти. equals() сравнивает содержимое объектов, но только если класс переопределил этот метод. Для String equals() сравнивает символы, для Integer — числовые значения. Если не переопределить equals(), он работает как == (наследует от Object). Классическая ловушка: два new String("abc") — по == будет false, по equals() — true.

Следующий вопрос

Как работает @Transactional в Spring?