O que é String.intern() em Java?

O Que E String Intern Em Java



Em Java, o “ estagiário() ” é usado para garantir que, se uma grande quantidade de strings armazena dados, as strings com o mesmo elemento compartilham a mesma memória. Este método é muito útil para reduzir o espaço de memória do programa. Por exemplo, se você tiver uma lista enorme de nomes de funcionários onde o nome “ Jack ” aparece dez vezes. O ' estagiário() ” garantirá que o “ Jack ” ocupa apenas um único espaço na memória.

Este post discutirá o uso do método String.intern() em Java.







O que é String.intern() em Java?

O ' estagiário() ” em Java é utilizado para retornar a referência ao objeto de string indicado. No entanto, se o objeto string existir com o mesmo conteúdo/dados no pool de strings, ele retornará a referência da string anterior. Além disso, se a string não existir no pool de strings, ele adicionará a nova string e sua referência ao pool de strings.



Sintaxe

Para utilizar o método indicado, basta seguir a sintaxe fornecida abaixo:



Corda . estagiário ( )

Neste exemplo, discutiremos por que há necessidade de usar o “ estagiário() ” em Java quando a string é criada em um heap usando o método “ Corda() ” construtor. Primeiro, um objeto string é criado usando o método “ Corda() ” construtor. Depois disso, os dados da string são passados ​​como parâmetro para este objeto e armazenados em uma variável:





Corda a = novo Corda ( 'Bem-vindo ao Linuxhint.' ) ;

Outro objeto string é criado seguindo o mesmo procedimento:

Corda b = novo Corda ( 'Bem-vindo ao Linuxhint' ) ;

Invoque o “ println()” e defina “a=b ” como o argumento para este método. Ele retornará o resultado como falso porque cada string tem seu próprio espaço na memória:



Sistema . fora . println ( a == b ) ;

Pode-se notar que a saída do exemplo acima mencionado retorna false:

Exemplo 1: Método String.intern() para Verificar Objetos String

Neste exemplo, dois objetos string são criados usando o método “ Corda() ” e uma string é passada para o construtor como um argumento. Em seguida, invoque o “ estagiário() ” para cada string e armazene a primeira string na variável “ a ” e o segundo no “ b ”. Verifique a condição “ a=b ” e use o “ println() ” para exibir o resultado:

Corda a = novo Corda ( 'Bem-vindo ao Linuxhint' ) . estagiário ( ) ;
Corda b = novo Corda ( 'Bem-vindo ao Linuxhint' ) . estagiário ( ) ;
Sistema . fora . println ( a == b ) ;

Como resultado, ele retorna o “ verdadeiro ” valor porque o “ estagiário() ” garante que cada string ocupe espaço na mesma memória para armazenar os dados da string:

Exemplo 2: Método String.intern() para Verificar String e Objeto String

Neste exemplo declarado, várias strings são criadas e armazenadas nas diferentes variáveis. Para isso, primeiro, uma variável é inicializada com um valor de string “ Linux ”:

Corda a = 'Linux' ;

Utilize o “ estagiário() ” método acessando a string “ a ” e armazene-o na variável “ b ”:

Corda b = a. estagiário ( ) ;

Um novo objeto do tipo string é criado com a ajuda do método “ Corda() ” e passa o “ Linux ” como o parâmetro para este construtor. Em seguida, armazene-o na variável “ c ”:

Corda c = novo Corda ( 'Linux' ) ;

Invoque o “ estagiário() ” método acessando a variável “ c ” e armazene o resultado na pasta “ d ”:

Corda d = c. estagiário ( ) ;

Agora, compare essas strings criadas entre si. Para tanto, invoque o “ println() ” e passe o parâmetro de acordo com o trecho de código abaixo:

Sistema . fora . println ( a == b ) ;
Sistema . fora . println ( a == c ) ;
Sistema . fora . println ( a == d ) ;
Sistema . fora . println ( b == c ) ;
Sistema . fora . println ( b == d ) ; Sistema . fora . println ( c == d ) ;

A saída de cada instrução correspondente é impressa no console. Mapeamos a saída com cada instrução:

Isso é tudo sobre o método string.intern() em Java.

Conclusão

O ' String.intern() ” em Java retorna a referência ao objeto de string indicado. No entanto, se o objeto string existir com o mesmo conteúdo/dados no pool de strings, ele retornará a referência da string anterior. Este post indicou vários casos de uso do método String.intern() em Java.