Встречается на собеседованиях • сегодня

Почему нельзя сравнивать объекты через ==

В Java оператор == сравнивает ссылки на объекты, а не их содержимое. Даже если два объекта имеют одинаковые значения, == вернет false, если они разные экземпляры. Для сравнения содержимого объектов используется метод equals().

Пример:

java
String s1 = new String("hello");
String s2 = new String("hello");
System.out.println(s1 == s2);      // false (разные ссылки)
System.out.println(s1.equals(s2)); // true (одинаковое содержимое)

Исключение: Примитивы (int, char и т.д.) сравниваются через ==, так как они хранят значения, а не ссылки.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы