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

Что такое интернирование строк

Интернирование строк — это процесс добавления строки в пул строк (String Pool) для повторного использования. В Java строки из пула хранятся в heap, но JVM оптимизирует память, избегая дублирования.

Пример:

java
String s1 = "hello"; // попадает в пул
String s2 = new String("hello"); // создается новый объект вне пула
String s3 = s2.intern(); // возвращает ссылку на строку из пула

System.out.println(s1 == s3); // true, т.к. ссылаются на один объект
System.out.println(s1 == s2); // false, разные объекты

text

**Нюансы:**  
- `intern()` добавляет строку в пул, если её там нет, иначе возвращает существующую.  
- Литералы (`"..."`) автоматически интернируются.  
- Может ускорить сравнение через `==`, но злоупотребление `intern()` ведет к увеличению потребления памяти.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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