Sobes.tech
Назад к вопросам
Junior — Middle
65

Что произойдет, если создать строку с помощью new String и сравнить ее с литералом " " при помощи оператора ==?

Ответ от нейросети

sobes.tech AI

При создании строки с помощью new String(" ") создаётся новый объект в куче, который содержит строку с одним пробелом. Литерал " " при этом ссылается на строку из пула строк (String Pool).

Оператор == сравнивает ссылки на объекты, а не их содержимое. Поэтому выражение:

new String(" ") == " "

вернёт false, так как это разные объекты в памяти.

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

new String(" ").equals(" ") // вернёт true