Что такое String.intern() в Java?

Cto Takoe String Intern V Java



В Java « стажер() ” используется для того, чтобы гарантировать, что если большое количество строк хранит данные, то строки, содержащие один и тот же элемент, используют одну и ту же память. Этот метод очень полезен для уменьшения объема памяти для программы. Например, если у вас есть огромный список имен сотрудников, где имя « Джек ” появляется десять раз. “ стажер() ” гарантирует, что “ Джек ” занимает только одно место в памяти.

В этом посте будет обсуждаться использование метода String.intern() в Java.







Что такое String.intern() в Java?

стажер() ” в Java используется для возврата ссылки на указанный строковый объект. Однако, если строковый объект существовал с тем же содержимым/данными в пуле строк, он вернет ссылку на предыдущую строку. Кроме того, если строка не существует в пуле строк, новая строка и ее ссылка будут добавлены в пул строк.



Синтаксис

Чтобы использовать указанный метод, просто следуйте приведенному ниже синтаксису:



Нить . стажер ( )

В этом примере мы обсудим, почему необходимо использовать « стажер() ” в Java, когда строка создается в куче с использованием “ Нить() 'Конструктор. Во-первых, строковый объект создается с помощью « Нить() 'Конструктор. После этого данные для строки передаются в качестве параметра этому объекту и сохраняются в переменной:





Нить а '=' новый Нить ( «Добро пожаловать в Linuxhint». ) ;

Другой строковый объект создается с помощью той же процедуры:

Нить б '=' новый Нить ( «Добро пожаловать в Линуксхинт» ) ;

Вызвать « println()» и установите «a=b ” в качестве аргумента для этого метода. Он вернет результат как false, потому что каждая строка имеет свое место в памяти:



Система . вне . печать ( а == б ) ;

Можно заметить, что вывод приведенного выше примера возвращает false:

Пример 1. Метод String.intern() для проверки строковых объектов

В этом примере два строковых объекта создаются с помощью « Нить() », и в качестве аргумента конструктору передается строка. Далее вызовите « стажер() ” для каждой строки и сохраните первую строку в переменной “ а ', а второй в разделе ' б ». Проверить условие ' а=б ” и используйте “ println() », чтобы отобразить результат:

Нить а '=' новый Нить ( «Добро пожаловать в Линуксхинт» ) . стажер ( ) ;
Нить б '=' новый Нить ( «Добро пожаловать в Линуксхинт» ) . стажер ( ) ;
Система . вне . печать ( а == б ) ;

В результате он возвращает « истинный ” значение, потому что “ стажер() ” гарантирует, что каждая строка занимает место в одной и той же памяти для хранения строковых данных:

Пример 2: Метод String.intern() для проверки строки и строкового объекта

В этом заявленном примере различные строки создаются и сохраняются в разных переменных. Для этого сначала инициализируется переменная со строковым значением « линукс ”:

Нить а '=' 'Линукс' ;

Используйте « стажер() ', обратившись к строке ' а ' и сохранить его в переменной ' б ”:

Нить б '=' а. стажер ( ) ;

Новый объект строкового типа создается с помощью « Нить() ' конструктор и передает ' линукс ” в качестве параметра этого конструктора. Затем сохраните его в переменной « с ”:

Нить с '=' новый Нить ( 'Линукс' ) ;

Вызвать « стажер() ', обратившись к переменной ' с ' и сохранить результат в ' д ”:

Нить д '=' в. стажер ( ) ;

Теперь сравните эти созданные строки друг с другом. Для этого вызовите « println() ” и передайте параметр в соответствии с приведенным ниже фрагментом кода:

Система . вне . печать ( а == б ) ;
Система . вне . печать ( а == с ) ;
Система . вне . печать ( а == д ) ;
Система . вне . печать ( б == с ) ;
Система . вне . печать ( б == д ) ; Система . вне . печать ( с == д ) ;

Вывод каждого соответствующего оператора выводится на консоль. Мы сопоставили вывод с каждым оператором:

Это все, что касается метода string.intern() в Java.

Заключение

String.интерн() ” в Java возвращает ссылку на указанный строковый объект. Однако, если строковый объект существовал с тем же содержимым/данными в пуле строк, он вернет ссылку на предыдущую строку. В этом посте описаны различные варианты использования метода String.intern() в Java.