descargar - Comprobando si una cadena está vacía o nula en Java
java offline (5)
Esta pregunta ya tiene una respuesta aquí:
- Compruebe si una cadena no es nula y no está vacía 26 respuestas
Estoy analizando los datos HTML. La String
puede ser null
o vacía, cuando la palabra a analizar no coincide.
Entonces, lo escribí así:
if(string.equals(null) || string.equals("")){
Log.d("iftrue", "seem to be true");
}else{
Log.d("iffalse", "seem to be false");
}
Cuando String.equals("")
, no funciona correctamente.
Pensé que String.equals("")
no era correcto.
¿Cómo puedo comprobar mejor si hay una String
vacía?
De esta manera, verifica si la cadena no es nula y no está vacía, considerando también los espacios vacíos:
boolean isEmpty = str == null || str.trim().length() == 0;
if (isEmpty) {
// handle the validation
}
La forma correcta de comprobar si hay null o vacío es así:
if(str != null && !str.isEmpty()) { /* do your stuffs here */ }
Puede aprovechar Apache Commons StringUtils.isEmpty(str)
, que comprueba si hay cadenas vacías y se maneja null
gracia.
Ejemplo:
System.out.println(StringUtils.isEmpty("")); // true
System.out.println(StringUtils.isEmpty(null)); // true
Google Guava también proporciona un método similar, probablemente más fácil de leer: Strings.isNullOrEmpty(str)
.
Ejemplo:
System.out.println(Strings.isNullOrEmpty("")); // true
System.out.println(Strings.isNullOrEmpty(null)); // true
Puedes usar Apache commons-lang
StringUtils.isEmpty(String str)
: comprueba si un String está vacío ("") o nulo.
o
StringUtils.isBlank(String str)
: comprueba si un String es un espacio en blanco, vacío ("") o nulo.
este último considera una cadena que consta de espacios o caracteres especiales, por ejemplo, "" también vacío. Ver java.lang.Character.isWhitespace API
if(!Strings.isNullOrEmpty(String str)) {
// Do your stuff here
}