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

Почему важно сравнивать содержимое String через equals

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

Пример:

java
String s1 = "hello";
String s2 = new String("hello");
String s3 = "hello";

System.out.println(s1 == s2); // false - разные объекты
System.out.println(s1 == s3); // true - один объект в пуле
System.out.println(s1.equals(s2)); // true - содержимое одинаково

equals() сравнивает символы строки, что обычно и нужно. Для case-insensitive сравнения используйте equalsIgnoreCase().

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

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

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

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