Páginas

Diferencia entre equals() y equalsIgnoreCase()

Ambos métodos comparan cadenas de texto (String), pero con una diferencia importante:

equals() - Distingue mayúsculas y minúsculas

    
public class EjemploEquals {
    public static void main(String[] args) {
        String palabra1 = "HOLA";
        String palabra2 = "hola";
        
        if (palabra1.equals(palabra2)) {
            System.out.println("Son iguales");
        } else {
            System.out.println("Son diferentes");
        }
    }
}
    

Resultado: Son diferentes ❌

Porque "HOLA" ≠ "hola" (las mayúsculas y minúsculas son diferentes)

equalsIgnoreCase() - Ignora mayúsculas y minúsculas

    
public class EjemploEqualsIgnoreCase {
    public static void main(String[] args) {
        String palabra1 = "HOLA";
        String palabra2 = "hola";
        
        if (palabra1.equalsIgnoreCase(palabra2)) {
            System.out.println("Son iguales");
        } else {
            System.out.println("Son diferentes");
        }
    }
}
    

Resultado: Son iguales ✓

Porque ignora si las letras están en mayúscula o minúscula.

Comparaciónequals()equalsIgnoreCase()
"HOLA" vs "HOLA"✓ true✓ true
"hola" vs "hola"✓ true✓ true
"HOLA" vs "hola"❌ false✓ true
"Hola" vs "hOlA"❌ false✓ true

¿Cuándo usar cada uno?

  • equals(): Cuando las mayúsculas/minúsculas son importantes (contraseñas, códigos exactos)
  • equalsIgnoreCase(): Cuando no importan las mayúsculas (nombres de usuarios, búsquedas)