Foros del Web » Programación para mayores de 30 ;) » Java »

Detectar NULL y Cadena Vacía en un String

Estas en el tema de Detectar NULL y Cadena Vacía en un String en el foro de Java en Foros del Web. Buenas tardes, tengo un formulario dentro de una web en JSP, y los datos del formulario los paso a un objeto "Usuarios". Dicho objeto, lo ...
  #1 (permalink)  
Antiguo 07/08/2008, 06:02
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Detectar NULL y Cadena Vacía en un String

Buenas tardes,

tengo un formulario dentro de una web en JSP, y los datos del formulario los paso a un objeto "Usuarios". Dicho objeto, lo mando a un método de Java que se encarga de montar la sentencia SQL y de mandarlo a la BD.

Dicho método es el siguiente:
Cita:
public boolean addUsuario(Usuarios usuario) { // Correcto

String comandoSql;


if(usuario.getNombre()==null || usuario.getApellidos()==null)
return(false);
else if(usuario.getNombre()=="" || usuario.getApellidos()=="")
return(false);
else {
comandoSql = "INSERT INTO usuarios (nombre, apellidos, dni, telefonoParticular, telefonoMovil, correoE, fechaNacimiento, observaciones, contactoFamilia1, telefonoTrabajo, domicilio, codigoPostal, localidad, provincia, pais, contactoFamilia2, contactoFamilia3) VALUES (";
comandoSql += "'" +usuario.getNombre()+ "', ";
comandoSql += "'" +usuario.getApellidos()+ "', ";
comandoSql += "'" +usuario.getDni()+ "', ";
comandoSql += "'" +usuario.getTelefonoParticular()+ "', ";
comandoSql += "'" +usuario.getTelefonoMovil()+ "', ";
comandoSql += "'" +usuario.getCorreoE()+ "', ";
comandoSql += "'" +new Fecha(usuario.getFechaNacimientoString()).getStrin gAnnoMesDia()+ "', ";
comandoSql += "'" +usuario.getObservaciones()+ "', ";
comandoSql += "'" +usuario.getContactoFamilia1()+ "', ";
comandoSql += "'" +usuario.getTelefonoTrabajo()+ "', ";
comandoSql += "'" +usuario.getDomicilio()+ "', ";
comandoSql += "'" +usuario.getCodigoPostal()+ "', ";
comandoSql += "'" +usuario.getLocalidad()+ "', ";
comandoSql += "'" +usuario.getProvincia()+ "', ";
comandoSql += "'" +usuario.getPais()+ "', ";
comandoSql += "'" +usuario.getContactoFamilia2()+ "', ";
comandoSql += "'" +usuario.getContactoFamilia3()+ "'";
comandoSql += ") ";

if (this.realizarAccion(comandoSql) != true)
return(false);
else
return(true);
}

} // END_addUsuario

El problema viene cuando en el formulario JSP no introduzco nombre, pues en teoría, el método "boolean addUsuario(Usuarios)" debería hecharme para atrás dicho usuario, pues es una cadena vacía lo que tiene, pero me lo acepta y lo mete en la BD. ¿Por qué?

Un saludo! Y gracias!
  #2 (permalink)  
Antiguo 07/08/2008, 06:13
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Detectar NULL y Cadena Vacía en un String

Un error clásico.

La comparación de contenido de cadenas debes hacerla con el método equals:

Código:
... usuario.getNombre().equals("") ...
  #3 (permalink)  
Antiguo 07/08/2008, 09:22
Avatar de Xinef  
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 1 mes
Puntos: 7
Respuesta: Detectar NULL y Cadena Vacía en un String

Cita:
Iniciado por venkman Ver Mensaje
La comparación de contenido de cadenas debes hacerla con el método equals:

Código:
... usuario.getNombre().equals("") ...

Y siempre es recomendable hacer la comparación desde la cadena:

Código PHP:
   "".equals(usuario.getNombre()); 
Así te ahorras comparar por nulo... y bastantes NullPointerException.... :)
  #4 (permalink)  
Antiguo 07/08/2008, 10:22
 
Fecha de Ingreso: agosto-2008
Ubicación: Cajamarca
Mensajes: 49
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Detectar NULL y Cadena Vacía en un String

Y puedes usar esta funcion :

http://commons.apache.org/lang/api-release/org/apache/commons/lang/StringUtils.html#isEmpty(java.lang.String)

Cimballi
  #5 (permalink)  
Antiguo 07/08/2008, 17:18
Avatar de cambito  
Fecha de Ingreso: junio-2006
Mensajes: 66
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Detectar NULL y Cadena Vacía en un String

usuario.getNombre().equals(null) .... etc
  #6 (permalink)  
Antiguo 07/08/2008, 17:29
 
Fecha de Ingreso: agosto-2008
Ubicación: Cajamarca
Mensajes: 49
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Detectar NULL y Cadena Vacía en un String

Cambito,

No es posible de probar si una propriedad esta null de esta forma !
Si tu haces : usuario.getNombre().equals(null) y si nombre esta null, entonces va a ocurrir una NullPointerException...

Cimballi
  #7 (permalink)  
Antiguo 08/08/2008, 12:09
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Detectar NULL y Cadena Vacía en un String

Gracias a todos, tema cerrado.

Como mejor funciona, comprobado en mi aplicación: "".equals(usuario.getNombre());

Hay que ver lo que estoy aprendiendo con vosotros... jejeje Gracias, en serio, a todos los foreros!! Un abrazo!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:01.