Método Java String compareTo (): cómo utilizarlo con ejemplos

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

compareTo () se utiliza para comparar dos cadenas lexicográficamente. Cada carácter de ambas cadenas se convierte en un valor Unicode. Sin embargo, si ambas cadenas son iguales, este método devuelve 0; de lo contrario, solo dará como resultado un valor negativo o positivo.

El método Java String compareTo () se define en la interfaz java.lang.Comparable

Sintaxis: Cómo escribir un método compareTo () en Java :

public int compareTo(String str)

Entrada de parámetros:

str: la función compareTo () en Java acepta solo un tipo de datos String de entrada.

Devoluciones del método:

Este método de Java compareTo () devuelve un tipo de datos int que se basa en la comparación lexicográfica entre dos cadenas.

  • devuelve <0, entonces la cadena que llama al método es lexicográficamente primero
  • devuelve == 0 entonces las dos cadenas son lexicográficamente equivalentes
  • devuelve> 0, entonces el parámetro pasado al método compareTo () de Java es lexicográficamente primero.

Ejemplo del método Java String compareTo ():

Ejemplo 1:

public class Sample_String {public static void main(String[] args) {String str_Sample = "a";System.out.println("Compare To 'a' b is : " + str_Sample.compareTo("b"));str_Sample = "b";System.out.println("Compare To 'b' a is : " + str_Sample.compareTo("a"));str_Sample = "b";System.out.println("Compare To 'b' b is : " + str_Sample.compareTo("b"));}}

Producción

Comparar con 'a' b es: -1

Comparar con 'b' a es: 1 Comparar con 'b' b es: 0

Aquí,

  • El carácter a viene antes de b alfabéticamente. Por lo tanto, la salida es -1
  • El carácter b viene después de alfabéticamente. Por lo tanto, la salida es 1
  • El carácter b es equivalente, por lo tanto, la salida es 0.

Puede utilizar el método Use "compareToIgnoreCase" en caso de que no desee que el resultado distinga entre mayúsculas y minúsculas. Entendamos con un ejemplo de Java compareTo ().

Ejemplo 2:

public class Sample_String {public static void main(String[] args) {//Compare to a StringString str_Sample = "RockStar";System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));//Compare to - Ignore caseSystem.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

Producción

Comparar con 'ROCKSTAR': -32 Comparar con 'ROCKSTAR' - Caso ignorado: 0

¿Cuándo usar el método compareTo () en Java?

El método compareTo () de Java String se utiliza para realizar una clasificación natural de cadenas. La clasificación natural significa el orden de clasificación que se aplica al objeto, p. Ej., Orden léxico para String, orden numérico para ordenar enteros, etc.

El orden léxico no es más que orden alfabético. compareTo () El método Java hace una comparación secuencial de letras en la cadena que tienen la misma posición.

En este método, si la primera cadena es siempre lexicográficamente más alta que la segunda, devuelve un número positivo.

si a1> a2, devuelve un número negativo

si a1

si a1 == a2, devuelve 0

Entendamos con Java String compareTo () Example.

Ejemplo 3:

public class Compare {public static void main(String[] args) {String s1 = "Guru1";String s2 = "Guru2";System.out.println("String 1: " + s1);System.out.println("String 2: " + s2);// Compare the two strings.int S = s1.compareTo(s2);// Show the results of the comparison.if (S < 0) { System.out.println("\"" + s1 + "\"" + " is lexicographically higher than " + "\"" + s2 + "\"");} else if (S == 0) {System.out.println("\"" + s1 + "\"" + " is lexicographically equal to " + "\"" + s2 + "\"");} else if (S> 0) {System.out.println("\"" + s1 + "\"" + " is lexicographically less than " + "\"" + s2 + "\"");}}}

Producción:

Cadena 1: Guru1

Cadena 2: Guru2 "Guru1" es lexicográficamente más alto que "Guru2"

Articulos interesantes...