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

Можно ли принудительно поместить строку в String Pool

В Java строки автоматически помещаются в String Pool при использовании литералов или метода intern(). Принудительно добавить строку можно так:

java
String str1 = new String("example").intern(); // явное добавление в пул
String str2 = "example"; // уже будет ссылаться на объект из пула
System.out.println(str1 == str2); // true

Важно:

  1. intern() добавляет строку в пул, если её там нет, или возвращает существующую
  2. Не злоупотребляйте intern(), так как пул хранится в PermGen/Metaspace и может привести к утечкам памяти
  3. Для динамически создаваемых строк лучше использовать intern() только при частых повторениях
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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