Java String estagiário ()

O método Java String intern () retorna uma representação canônica do objeto string.

A sintaxe do intern()método string é:

 string.intern()

Aqui, string é um objeto da Stringclasse.

Parâmetros intern ()

O intern()método não leva nenhum parâmetro.

Intern () Valor de Retorno

  • retorna uma representação canônica da string

O que é Java String Interning?

O internamento de String garante que todas as strings com o mesmo conteúdo usem a mesma memória.

Suponha que nós essas duas strings:

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

Uma vez que str1e str2têm o mesmo conteúdo, ambas as strings compartilharão a mesma memória. Java internaliza automaticamente os literais de string.

No entanto, se você criar strings usando a newpalavra - chave, essas strings não compartilharão a mesma memória. Por exemplo,

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

Como você pode ver neste exemplo, str1 e str2 têm o mesmo conteúdo. No entanto, eles não são iguais porque não compartilham a mesma memória.

Neste caso, você pode usar manualmente o intern()método para que a mesma memória seja usada para strings com o mesmo conteúdo.

Exemplo: 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 ) )

Como você pode ver, str1 e str2 têm o mesmo conteúdo, mas inicialmente não são iguais.

Em seguida, usamos o intern()método para que str1 e str2 usem o mesmo pool de memória. Depois de usarmos intern(), str1 e str2 são iguais.

Artigos interessantes...