jueves, 19 de junio de 2014

Comparar String en Java

Una cosa que nos suele pasar a todos cuando empezamos a programar en Java, o bien llevamos tiempo sin programar en dicho lenguaje, es toparnos con un caso muy común, la necesidad de comparar String, ya sea entre variables, o para que si una variable tiene un valor en concreto poder hacer determinadas acciones.

En cualquier caso seguramente intentemos hacer algo al estilo:
        if(miVartiableConTexto == "Un texto cualquiera"){
        //Haz algo
        }else{
        //Haz otra cosa
        }
Si lo hacemos así, una de 2 o nos damos cuanta rápido de nuestro error, o nos volveremos locos, hay que recordar en un String no es un tipo primitivo, si no un objeto, y como tal no se puede comparar mediante "==" a no ser que lo que queramos es comparar un objeto con otro, pero nunca sus valores, y como es lógico nuestra variable, nunca sera un String que podamos escribir en nuestro condicional.

por lo que cuando necesitemos comparar el valor de un String, o cualquier de objeto, tendremos que recurrir a algo muy sencillo, su método equals, podemos hacerlo con algo similar a lo siguiente:
        if(miVartiableConTexto.equals("Un texto cualquiera")){
         //Haz algo
        }else{
         //Haz otra cosa
        }