Встречается на собеседованиях • сегодня
Почему нельзя сравнивать строки через ==
В Java строки сравниваются через equals(), а не ==, потому что == сравнивает ссылки на объекты, а не их содержимое. Строки в Java — это объекты, и даже если две строки содержат одинаковый текст, они могут быть разными объектами в памяти.
Пример:
java
String s1 = new String("hello");
String s2 = new String("hello");
System.out.println(s1 == s2); // false (разные объекты)
System.out.println(s1.equals(s2)); // true (одинаковое содержимое)Исключение — строковые литералы, так как они кэшируются в пуле строк:
java
String s3 = "hello";
String s4 = "hello";
System.out.println(s3 == s4); // true (один объект в пуле)Всегда используйте equals() для надежного сравнения строк.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы