Встречается на собеседованиях • сегодня
Будут ли созданы две строки при выполнении команды 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 - ссылки указывают на один объект
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы