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

Como comprobar que un string esta vacio

Estas en el tema de Como comprobar que un string esta vacio en el foro de Java en Foros del Web. Hola: tengo una duda, no se como comprobar en java uqe un string esta vacio... se me ocurrio hacer la comprobacion (cadena.lenght !=0) pero me ...
  #1 (permalink)  
Antiguo 10/03/2009, 04:14
 
Fecha de Ingreso: septiembre-2008
Mensajes: 30
Antigüedad: 15 años, 7 meses
Puntos: 0
Como comprobar que un string esta vacio

Hola:

tengo una duda, no se como comprobar en java uqe un string esta vacio...

se me ocurrio hacer la comprobacion
(cadena.lenght !=0)

pero me da un java.lang.NullPointerException


alguien me puede decir la forma correcta de hacer esto
muchas gracias
  #2 (permalink)  
Antiguo 10/03/2009, 04:44
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como comprobar que un string esta vacio

Código java:
Ver original
  1. if ( (cadena != null) && (!cadena.equals("")) ) {
  2.     // cadena no está vacía
  3. }


Código java:
Ver original
  1. if ( (cadena == null) || (cadena.equals("")) ) {
  2.     // cadena está vacía
  3. }
  #3 (permalink)  
Antiguo 10/03/2009, 06:08
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Como comprobar que un string esta vacio

Yo muchas veces en vez de cadena.equals(""), uso cadena.trim().length()==0, por si los espacios en blanco. Todo depende de si los has de tener en cuenta o no.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #4 (permalink)  
Antiguo 10/03/2009, 06:14
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Respuesta: Como comprobar que un string esta vacio

Si no me equivoco, para comprobar que una cadena no tiene contenido, hay que usar el método isEmpty de la clase String:

Código:
if ( (cadena == null) || (cadena.isEmpty()) ) {
    // cadena está vacía
}
Si usamos equals(""), creamos una cadena adicional, para luego compararla con la cadena en cuestión.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #5 (permalink)  
Antiguo 10/03/2009, 06:58
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como comprobar que un string esta vacio

TolaWare, sí, pero... el problema es que String#isEmpty() sólo existe desde la versión 1.6. En versiones anteriores no tenemos ese método. Aún así, isEmpty() la comprobación que hace es la misma que la de .length() == 0.

En cuanto a usar String#length() == 0... sí, es otra opción válida. Lo de hacerle el trim o no, pues eso, depende de que los espacios importen o no.
  #6 (permalink)  
Antiguo 10/03/2009, 07:46
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Como comprobar que un string esta vacio

Gracias por el apunte, Tolaware, todavía no puedo asegurar tener Java 6 por todo pero me lo apunto para cuando pueda .

En cuanto a lo de compara con equals... de hecho al usar el literal "" como mucho tendrás una cadena de ese tipo para todo tu programa, ya que el compilador mete los literales en un pool de constantes y en realidad no crea una cada vez. Es un problema, pero solo cuando los valores son diferentes.

S!
PD: Un truquillo para los que no lo sepan cuando comparas con algo que no sea "" es hacer "lacadena".equals(miVariable), de esa forma te ahorras la comparación con null ya que equals con null devuelve false. .
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #7 (permalink)  
Antiguo 24/03/2009, 06:14
 
Fecha de Ingreso: septiembre-2008
Mensajes: 30
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Como comprobar que un string esta vacio

muchas gracias a todos..
la verda que resolvi el problema gracias a vuestras respuestas
ya que por ahi no habia encontrado nada ..

gracias
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 18:38.