Sobes.tech
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 указывают на одну и ту же строку из пула.