Cómo comparar dos cadenas en Java

En este tutorial, aprenderemos diferentes formas de comparar dos cadenas en Java

Índice
  1. Compara cadenas usando el operador "=="
  2. Compara cadenas usando es igual a() método

Compara cadenas usando el operador "=="

 1String string1 = "CodingNConcepts";
 2String string2 = "CodingNConcepts";
 3String string3 = new String("CodingNConcepts");
 4String string4 = new String("CodingNConcepts");
 5
 6System.out.println(string1 == string2);    // true
 7System.out.println(string1 == string3);    // false
 8System.out.println(string3 == string4);    // false
 9
10string3 = string3.intern();
11string4 = string4.intern();
12
13System.out.println(string1 == string3);    // true
14System.out.println(string3 == string4);    // true
Explicación
  • línea 6: cadena1 y cadena2 ambos se inicializan usando literal por lo que ambos se refieren a la misma cadena almacenada en String-Pool
  • línea 7: cadena3 se inicializa usando Nueva por lo que siempre crea un nuevo objeto de cadena en la memoria del montón de Java mientras que cadena1 se refiere a la cadena String-Pool
  • línea 8: Dado que String se inicializó usando Nueva siempre crea un nuevo objeto de cadena, cadena3 y cadena4 ambos se refieren a un objeto de cadena diferente en la memoria del montón
  • línea 10.11: cuando usted llama interno() en una cadena, devuelve una cadena de String-Pool si existe; de ​​lo contrario, se crea una nueva cadena en String-Pool y se devuelve.
    Así que ahora después de correr líneas 10 y 11, cadena3 y cadena4 se refiere a la misma cadena de Grupo de cuerdas
  • línea 13.14: despues de correr líneas 10 y 11las cuatro cuerdas cadena1, cadena2, cadena3 y cadena4 se refiere a la misma cadena String-Pool

Compara cadenas usando es igual a() método

Instrumentos de cuerda es igual a() método - devoluciones real si el argumento de cadena no es malo y ambas cadenas de comparación tienen la misma secuencia de caracteres en el mismo caso.

1String string1 = "CodingNConcepts";
2String string2 = "CodingNConcepts";
3String string3 = new String("CodingNConcepts");
4String string4 = new String("CODINGNCONCEPTS");
5
6System.out.println(string1.equals(string2));   // true
7System.out.println(string1.equals(string3));   // true
8System.out.println(string1.equals(string4));   // false
9System.out.println(string1.equals(null));      // false
Explicación
  • línea 6: cadena1 y cadena2 ambos tienen la misma secuencia de caracteres
  • línea 7: cadena1 y cadena3 ambos tienen la misma secuencia de caracteres
  • línea 8: cadena1 y cadena4 ambos tienen la misma secuencia de caracteres pero el caso es diferente
  • línea 9: argumento de cadena es nulo

Si quieres conocer otros artículos parecidos a Cómo comparar dos cadenas en Java puedes visitar la categoría Tutoriales.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas