Метод intern
Метод intern возвращает строку из пула строк.
Если в пуле уже есть строка с таким же содержимым,
метод вернёт ссылку на неё. Если такой строки в пуле нет,
она будет добавлена в пул и метод вернёт ссылку на неё.
Метод не принимает параметров. Сама строка при этом
не изменяется.
Синтаксис
str.intern()
Пример
Давайте создадим две строки с одинаковым содержимым
и сравним их через == до и после вызова intern:
public class Main
{
public static void main(String[] args)
{
String str1 = new String("abcde");
String str2 = new String("abcde");
System.out.println(str1 == str2);
System.out.println(str1.intern() == str2.intern());
}
}
Результат выполнения кода:
false
true
Пример
Давайте получим строку из пула и сравним её с исходной строкой:
public class Main
{
public static void main(String[] args)
{
String str = new String("12345");
String res = str.intern();
System.out.println(res);
System.out.println(res == str);
}
}
Результат выполнения кода:
"12345"
false
Смотрите также
-
класс
String,
который представляет строку в Java -
метод
equals,
который сравнивает содержимое строк -
метод
equalsIgnoreCase,
который сравнивает строки без учёта регистра -
метод
valueOf,
который преобразует значение в строку