Junior — Middle
65
Можете объяснить, что означает метод intern() для объекта типа String в Java?
Компании, где спрашивали
Tiqum
Ответ от нейросети
sobes.tech AI
Метод intern() в Java для объектов типа String используется для оптимизации памяти и повышения производительности при работе со строками.
Когда вызывается intern() на строке, JVM проверяет, есть ли в пуле строк (string pool) уже такая же строка. Если есть — возвращается ссылка на существующую строку из пула, если нет — строка добавляется в пул и возвращается её ссылка.
Это позволяет:
- Экономить память, так как одинаковые строки хранятся в одном экземпляре.
- Быстрее сравнивать строки с помощью оператора
==, так как сравниваются ссылки, а не содержимое.
Пример:
String s1 = new String("hello");
String s2 = s1.intern();
String s3 = "hello";
System.out.println(s2 == s3); // true
Здесь s2 и s3 указывают на одну и ту же строку из пула.