Java String compareTo ()

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 Stringclase.

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 stringviene antes del strargumento en el orden del diccionario
  • devuelve un entero positivo si stringviene después del strargumento 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 y str3.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 nullal compareTo()método, obtendrá un error.

Tutorial relacionado: Java String equals ()

Articulos interesantes...