Pasante de Java String ()

El método Java String intern () devuelve una representación canónica del objeto de cadena.

La sintaxis del intern()método de cadena es:

 string.intern()

Aquí, la cadena es un objeto de la Stringclase.

Intern () Parámetros

El intern()método no toma ningún parámetro.

intern () Valor devuelto

  • devuelve una representación canónica de la cadena

¿Qué es Java String Interning?

La pasantía de cadenas asegura que todas las cadenas que tengan el mismo contenido utilicen la misma memoria.

Supongamos que tenemos estas dos cadenas:

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

Dado que ambos str1y str2tienen el mismo contenido, ambas cadenas compartirán la misma memoria. Java interna automáticamente los literales de cadena.

Sin embargo, si crea cadenas con la newpalabra clave, estas cadenas no compartirán la misma memoria. Por ejemplo,

 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 puede ver en este ejemplo, str1 y str2 tienen el mismo contenido. Sin embargo, no son iguales porque no comparten la misma memoria.

En este caso, puede utilizar manualmente el intern()método para que se utilice la misma memoria para cadenas que tengan el mismo contenido.

Ejemplo: Java String interno ()

 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 puede ver, tanto str1 como str2 tienen el mismo contenido, pero inicialmente no son iguales.

Luego usamos el intern()método para que str1 y str2 usen el mismo grupo de memoria. Después de usar intern(), str1 y str2 son iguales.

Articulos interesantes...