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

Будут ли созданы две строки при выполнении команды String a = "Hello "+"World"

Нет, в данном случае будет создана только одна строка. Компилятор Java выполняет конкатенацию строковых литералов на этапе компиляции (это называется "compile-time constant folding"), поэтому код String a = "Hello " + "World"; будет оптимизирован в String a = "Hello World";.

Пример:

java
String a = "Hello " + "World";
// Эквивалентно:
String a = "Hello World";

Обе строки попадут в пул строк, но создана будет только одна строка "Hello World". Это можно проверить с помощью сравнения ссылок:

java
String b = "Hello World";
System.out.println(a == b); // true - ссылки указывают на один объект
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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