Comparar un String nulo
Hola al grupo,
quiero comparar un string, y en el caso de que sea nulo que me haga unas cosas...
¿Como lo tengo que hacer?
Hago lo siguiente y el programa se cuelga...
if (var.equals(""))
{......}
gracias
Isaac
quiero comparar un string, y en el caso de que sea nulo que me haga unas cosas...
¿Como lo tengo que hacer?
Hago lo siguiente y el programa se cuelga...
if (var.equals(""))
{......}
gracias
Isaac
Bueno, espero no equivocarme tratando de entender la pregunta, pero a mi forma de ver tu problema se soluciona tan solo haciendo esto:
Suponiendo un String palabra;
if (palabra == " ") ....
{ haz algo }
si comparas 2 cadenas, entonces si puedes usar
palabra.equals(palabra2), en resumen, creo que tu código se traba porque el método equals regresa un entero por lo que tienes que asignarlo a algo, es decir para que "equals"
funcione debería ser algo así:
if (palabra.equals(" ") == 0) {haz algo }
Bueno la verdad no recuerdo bien, creo que te regresa 0 si son diferentes o 1 si son iguales. Eso es lo de menos.
Suponiendo un String palabra;
if (palabra == " ") ....
{ haz algo }
si comparas 2 cadenas, entonces si puedes usar
palabra.equals(palabra2), en resumen, creo que tu código se traba porque el método equals regresa un entero por lo que tienes que asignarlo a algo, es decir para que "equals"
funcione debería ser algo así:
if (palabra.equals(" ") == 0) {haz algo }
Bueno la verdad no recuerdo bien, creo que te regresa 0 si son diferentes o 1 si son iguales. Eso es lo de menos.
if(cadena==null) { //Si es nulo
//haces algo
}else if(cadena.equals(cadena2)) { //Si es igual a la cadena 2
//haces otra coas
}else { //Si no es igual ni es nulo
//haces otra
}
//haces algo
}else if(cadena.equals(cadena2)) { //Si es igual a la cadena 2
//haces otra coas
}else { //Si no es igual ni es nulo
//haces otra
}
ten en cuenta que si la variable no ha sido instanciada y es nula, entonces no puedes acceder a un metodo del objeto, por eso se cuelga.
Por eso se hacen las comparaciones al revés "".equals(var) esto dará falso en el caso de que sea null en el caso contrario var.equals("") dará un NullPointerException