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

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

В Java == сравнивает ссылки на объекты, а не их содержимое. Для сравнения объектов по значению используется метод 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 - одинаковое содержимое

text

Исключение - пул строк (String pool), где литералы с одинаковым значением могут ссылаться на один объект. Для примитивных типов `==` работает корректно, так как сравнивает значения.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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