¿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
- Devuelve 0 si ambos son lexicográficamente iguales.
- Devuelve un número entero positivo si la cadena u objeto comparado es mayor lexicográficamente.
- 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
GO TO FULL VERSION