16/10/09

Comparar Cadenas (String) en Java

Java puede comparar cadenas de varias maneras. Smile
Primera forma: Utilizando el operador == , este operador no compara las cadenas, sino las instacias, osea:

Nos da como resultado "No son iguales" , porque apesar de tener los mismos caracteres, cadena_1 y cadena_2, son dos instancias DIFERENTES.
Ahora que si hacemos esto:

Nos da como resultado "Son Iguales" , que paso aqui entonces, es que el compilador de java, al ver que tienes la misma cadena, crea solo UNA INSTANCIA, claro que esto lo hace internamente.
Segunda forma: Esta es la mejor forma, ya que te olvidas de instancias y demas, usando el metodo EQUALS().

Tercera forma: el metod COMPARETO(), este devuelve 0 si ambas cadenas tienen el mismo contenido, negativo si el String es menor -va antes- que el parámetro que se le pasa y positivo si es mayor. Es decir :




Nos como resultado "cadena1 y cadena2 son iguales" , si cambiamos a cadena2="Hola Mundo" , el resultado es "cadena1 va antes que cadena2 " , si en cambio cadena1="Mouse dice Hola", resultado es "cadena2 va después que cadena1 " .

5 comentarios:

  1. Gracias por el aporte. sencillo, bien explicado y al punto.

    ResponderEliminar
  2. pero como le hago para comparar una cadena si lo que quiero encontrar esta en un objeto diferente.
    por ejemplo tengo una variable nombre en una clase X, y ese nombre lo quiero encontrar en una clase principal....no se si me explique porfa ayudaaaaaa

    ResponderEliminar
  3. ya no gracias ya resolbi mi duda por mi mismo el poder de no rendirse xD

    ResponderEliminar
  4. Muy buena info, te dejo un link mi web y a un post que hablo de lo mismo. Pero tambien agrego compareToIgnoreCase().

    http://java-white-box.blogspot.com.ar/2013/11/java-player-como-comparar-cadenas-como.html

    Saludos

    ResponderEliminar