Método String compareTo Java

java_base_web

Hola a todos, hoy os enseñare como usar el método compareTo de String.

El método compareTo se usa para comparar dos cadenas, indicando que cadena es mayor que otra. Esto es un ejemplo del método, cadena1.compareTo(cadena2);

Esto es lo que puede devolver:

  • Número positivo: la cadena 1 es mayor que la cadena 2.
  • 0: las cadenas son iguales.
  • Número negativo: la cadena 1 es menor que la cadena 2.

Recuerda que no sigue el alfabeto original sino según la tabla ASCII, es decir, que a es menor que z.

Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		String cadena1="americano";
		String cadena2="coche";

		System.out.println(cadena1.compareTo(cadena2));

	}

}

En el ejemplo anterior, devolvera -2 ya que “americano” es menor que “coche”. En realidad, es como si comparase entre “a” y “c”.

Cuando las dos cadenas empiezan por los mismos caracteres y solo se diferencian en algún carácter, es ese carácter el que comparan. Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		String cadena1="moto";
		String cadena2="mota";

		System.out.println(cadena1.compareTo(cadena2));

	}

}

En este caso, se compara el ultimo carácter, donde “moto” es mayor que “mota”, es decir, que devuelve un numero mayor que cero.

Este método distingue entre mayúsculas y minúsculas, si queremos que no lo haga podemos usar el método compareToIgnoreCase(cadena). Veamos un ejemplo:

public class PruebaApp {

	public static void main(String[] args) {

		String cadena1="moto";
		String cadena2="MOTO";

		System.out.println(cadena1.compareToIgnoreCase(cadena2));

	}

}

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Etiquetas

One comment

  1. Me ha servido mucho para entender como funciona “compareTo”, ya que nos explicaron de esta manera…

    C
    ompare
    :
    o
    Compara 2 cadenas y retorna un valor numérico, cero si son iguales,
    un númer
    o mayor que cero si la primera cadena es mayor a la
    segunda, un número menor que cero si la primera es menor a la
    segunda.
    o
    Ejemplo:
    String cad1 =

    1234

    , cad2 =

    1334

    ;
    i
    nt
    valor
    = cad1.compareTo(cad2);
    if(
    valor == 0){
    System.out.println(

    Son
    iguales

    );
    }else if(
    valor < 0
    ){
    System.out.println(

    Cadena 1
    es menor a Cadena 2

    );
    }else{
    System.out.println(

    Cadena 1 es mayor a Cadena 2

    );
    }
    // la impresión dirá Cadena 1 es menor a Cadena 2.

    para mi, eso es poco comprensible.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *