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

Куда отправится строка при использовании new String

При использовании new String("text") создается новый объект в куче (heap), даже если такая же строка уже существует в пуле строк (string pool). В отличие от литерала "text", который сначала проверяет наличие строки в пуле и использует существующую, new String всегда создает новый объект.

Пример:

java
String s1 = "text";          // попадает в пул строк
String s2 = new String("text"); // новый объект в куче
System.out.println(s1 == s2); // false (разные объекты)

Чтобы поместить строку из new String в пул, можно вызвать intern():

java
String s3 = s2.intern();  
System.out.println(s1 == s3); // true (теперь ссылается на пул)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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