В 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.