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

Каким будет результат, если записать переменную через new String и " " и сравнить через ==

При сравнении строк через == результат зависит от того, как созданы строки:

  1. String s1 = "text"; - создает строку в пуле строк
  2. String s2 = new String("text"); - создает новый объект в куче

Пример:

java
String a = "text";
String b = "text";
String c = new String("text");

System.out.println(a == b); // true - обе ссылки указывают на один объект в пуле
System.out.println(a == c); // false - разные объекты в памяти

Для корректного сравнения содержимого строк всегда используйте equals():

java
System.out.println(a.equals(c)); // true - содержимое одинаковое

== сравнивает ссылки, а не содержимое строк.

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

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

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

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