El método Java String compareTo () compara dos cadenas lexicográficamente (en el orden del diccionario). La comparación se basa en el valor Unicode de cada carácter de las cadenas.
La sintaxis del compareTo()
método es:
string.compareTo(String str)
Aquí, la cadena es un objeto de la String
clase.
compareTo () Parámetros
El compareTo()
método toma un solo parámetro.
- str - la cadena que se va a comparar
compareTo () Valor devuelto
- devuelve 0 si las cadenas son iguales
- devuelve un entero negativo si
string
viene antes delstr
argumento en el orden del diccionario - devuelve un entero positivo si
string
viene después delstr
argumento en el orden del diccionario
Ejemplo: Java String compareTo ()
class Main ( public static void main(String() args) ( String str1 = "Learn Java"; String str2 = "Learn Java"; String str3 = "Learn Kolin"; int result; // comparing str1 with str2 result = str1.compareTo(str2); System.out.println(result); // 0 // comparing str1 with str3 result = str1.compareTo(str3); System.out.println(result); // -1 // comparing str3 with str1 result = str3.compareTo(str1); System.out.println(result); // 1 ) )
Aquí,
- str1 y str2 son iguales. Por tanto,
str1.compareTo(str2)
devuelve 0. - str1 viene antes de str3 en el orden del diccionario. Por tanto,
str1.compareTo(str3)
devuelve negativo ystr3.compareTo(str1)
devuelve positivo.
Ejemplo 2: comprobar si dos cadenas son iguales
class Main ( public static void main(String() args) ( String str1 = "Learn Python"; String str2 = "Learn Java"; // if str1 and str2 are equal, the result is 0 if (str1.compareTo(str2) == 0) ( System.out.println("str1 and str2 are equal"); ) else ( System.out.println("str1 and str2 are not equal"); ) ) )
Salida
str1 y str2 no son iguales
El compareTo()
método tiene en cuenta las mayúsculas y minúsculas (mayúsculas y minúsculas).
Ejemplo 3: compareTo () con caso
class Main ( public static void main(String() args) ( String str1 = "Learn Java"; String str2 = "learn Java"; int result; // comparing str1 with str2 result = str1.compareTo(str2); System.out.println(result); // -32 ) )
Cuando "Learn Java"
se compara con "learn Java"
, no obtenemos 0. Es porque compareTo()
toma en consideración el caso de la letra.
Notas:
- Si necesita comparar dos cadenas ignorando las diferencias entre mayúsculas y minúsculas, use el método Java String compareToIgnoreCase ().
- Si pasa
null
alcompareTo()
método, obtendrá un error.
Tutorial relacionado: Java String equals ()