Mostrando entradas con la etiqueta java. Mostrar todas las entradas
Mostrando entradas con la etiqueta java. Mostrar todas las entradas

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
        }

miércoles, 27 de marzo de 2013

Java/Android - hacer cast a int

Es algo obvio pero en ocasiones se puede olvidar y hoy a sido mi caso.
Normalmente cuando programamos en Java, ya sea para Android, web, o aplicaciones de escritorio, estamos acostumbrados a hacer casting de la siguiente manera
(Tipo al que queremos converitr) variable o dato que queremos convertir; un ejemplo de esto seria

int numero= (int) "26";

El problema esta justo en el caso contrario, si queremos convertir un entero a un String por ejemplo para mostrarlo en un EditText, ya que (String) 26 pasara bastante de nosotros, y es que a los tipo primitivos como son char, int, creo que boolean y no se si me dejo alguno mas no se les puede hacer casting de esta manera, para el caso de un int debemos recurrir a Integer, y la conversion seria de la siguiente manera:

Integer.toString(26)

Pudiendo hacer con ello lo que queramos ya como String

Espero os sea util y os quite muchos quebraderos de cabeza ;)