Java String intern ()

Метод Java String intern () возвращает каноническое представление строкового объекта.

Синтаксис строкового intern()метода:

 string.intern()

Здесь строка - это объект Stringкласса.

intern () Параметры

intern()Метод не принимает никаких параметров.

intern () Возвращаемое значение

  • возвращает каноническое представление строки

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

Интернирование строк гарантирует, что все строки с одинаковым содержимым используют одну и ту же память.

Допустим, у нас есть эти две строки:

 String str1 = "xyz"; String str2 = "xyz";

Поскольку обе str1и str2имеют одинаковое содержимое, обе эти строки будут использовать одну и ту же память. Java автоматически обрабатывает строковые литералы.

Однако, если вы создаете строки с использованием newключевого слова, эти строки не будут использовать одну и ту же память. Например,

 class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); System.out.println(str1 == str2); // false ) )

Как видно из этого примера, и str1, и str2 имеют одинаковое содержимое. Однако они не равны, потому что они не используют одну и ту же память.

В этом случае вы можете использовать intern()метод вручную, чтобы одна и та же память использовалась для строк с одинаковым содержимым.

Пример: Java String intern ()

 class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); // str1 and str2 doesn't share the same memory pool System.out.println(str1 == str2); // false // using the intern() method // now both str1 and str2 share the same memory pool str1 = str1.intern(); str2 = str2.intern(); System.out.println(str1 == str2); // true ) )

Как видите, и str1, и str2 имеют одинаковое содержимое, но изначально они не равны.

Затем мы используем intern()метод, чтобы str1 и str2 использовали один и тот же пул памяти. После использования intern()str1 и str2 равны.

Интересные статьи...