¿Qué es el método Java String compareTo()?

El método java string class compareTo() devuelve el valor 0 si ambas cadenas son lexicográficamente iguales. Si la cadena comparada es mayor lexicográficamente, entonces se devuelve el valor positivo; de lo contrario, se devuelve el valor negativo. Entonces, el método Java string compareTo() se utiliza para comparar dos cadenas. Este método siempre utiliza el valor Unicode de cada carácter de la cadena para compararlos. Al comparar las cadenas, si alguna de ellas está vacía, siempre devuelve la longitud de la cadena. Si alguna de las cadenas está vacía, entonces pueden desarrollarse dos escenarios. Si la primera cadena está vacía, devuelve un valor negativo; de lo contrario, devuelve un valor positivo. El método Java string.compareTo() de forma predeterminada distingue entre mayúsculas y minúsculas, pero podemos usar el método compareToIgnoreCase() de la clase Java String para ignorar la distinción entre mayúsculas y minúsculas durante la comparación. Este método también devuelve un número entero negativo, 0 o positivo como se describe anteriormente.

Sintaxis

public int compareTo(string str)
public int compareTo(object obj)

Parámetros

El método java string compareTo() recibe una cadena o un objeto como parámetro, como puede ver arriba en la sintaxis.

Devoluciones

  1. Devuelve 0 si ambos son lexicográficamente iguales.
  2. Devuelve un número entero positivo si la cadena u objeto comparado es mayor lexicográficamente.
  3. Devuelve un número entero negativo si uno de los comparados es lexicográficamente más pequeño.

Excepciones

El método compareTo() devuelve 2 excepciones.
  • ClassCastException , si el objeto no se puede comparar, devuelve esta excepción.
  • NullPointerException , si la cadena es nula, se lanza NullPointerException.

Ejemplos de métodos Java String compareTo()

class Main {
  public static void main(String[] args) {
    // declaring strings to be used in this example for Java string     compareTo() method
    String str = "Java compareTo() method example";
    String str1 = "Java compareTo() method example";
    String str2 = "this is Java compareTo() method example";
    String str3 = "Java CompareTo() Method Example";
    String str4 = "a Java compareTo() method example";
    String str5 = new String("Java compareTo() method example");

    // comparing the str and str1 strings
    System.out.println(str.compareTo(str1));

    // comparing the str and str2 strings
    System.out.println(str.compareTo(str2));

    // comparing the str and str3 strings
    System.out.println(str.compareTo(str3));

    // comparing the str and str4 strings
    System.out.println(str.compareTo(str4));

    // comparing the str string and str5 string object
    System.out.println(str.compareTo(str5));
  }
}

Producción

0 -42 74 -23 0
Como sabemos, las cadenas str y str1 son iguales lexicográficamente, por lo que devolvió 0. Al comparar str y str2 , devolvió un valor negativo 42 porque la cadena comparada str es lexicográficamente más pequeña, por lo que es negativa y según el valor Unicode t char y J char. tiene una diferencia de 42, por lo que se devuelve un valor -42. Por lo demás puedes ver los resultados para entender mejor este método.

Ejemplo de una cadena vacía

public class Main{
    public static void main(String args[]){
        String str="compareTo()";

        // declaring an empty string
        String str1="";
        String str2="method";

        System.out.println(str.compareTo(str1));
        System.out.println(str1.compareTo(str2));
    }
}

Producción

11-6

Ejemplo de ignorar caso

public class Main{
    public static void main(String args[]){
        String str="compareTo()";

        // declaring the same string with uppercase letters
        String str1="COMPARETO()";

        System.out.println(str.compareTo(str1));
        System.out.println(str.compareToIgnoreCase(str1));
    }
}

Producción

32 0

Conclusión

Esperamos que a estas alturas comprenda qué es el método Java string compareTo() y cómo implementarlo para la comparación de cadenas, junto con sus diferentes casos de usuario, como la comparación de cadenas vacías y la ignorancia de la distinción entre mayúsculas y minúsculas. Siéntete libre de practicar y volver cuando necesites más ayuda. ¡Feliz aprendizaje!