Me encontré con un código que tiene lo siguiente:
String foo = getvalue("foo");
if (StringUtils.isBlank(foo))
doStuff();
else
doOtherStuff();
Esto parece ser funcionalmente equivalente a lo siguiente:
String foo = getvalue("foo");
if (foo.isEmpty())
doStuff();
else
doOtherStuff();
Hay una diferencia entre los dos ( org.apache.commons.lang3.StringUtils.isBlankyjava.lang.String.isEmpty )?
java
string
string-utils
NSA
fuente
fuente

StringUtils.isEmpty(foo)que le ayuda a evitar punteros nulosisBlank, pero no busca caracteres de espacio en blanco.Respuestas:
StringUtils.isBlank()comprueba que cada carácter de la cadena es un espacio en blanco (o que la cadena está vacía o que es nula). Esto es totalmente diferente a solo verificar si la cadena está vacía.De la documentación vinculada:
Para comparar StringUtils.isEmpty :
Advertencia: en java.lang.String .isBlank () y java.lang.String .isEmpty () funcionan igual, excepto que no regresan
truepornull.java.lang.String.isBlank()java.lang.String.isEmpty()fuente
La respuesta aceptada de @arshajii es totalmente correcta. Sin embargo, siendo más explícito al decir a continuación,
StringUtils.isBlank ()
StringUtils.isEmpty
fuente
StringUtils isEmpty = Cadena isEmpty comprueba + comprueba si es nulo.
StringUtils isBlank = StringUtils isEmpty comprueba + comprueba si el texto contiene solo caracteres de espacio en blanco.
Enlaces útiles para una mayor investigación:
fuente
StringUtils.isBlank()también verificará nulo, mientras que esto:arrojará un
NullPointerExceptionif sifooes nulo.fuente
StringUtils.isBlanktambién regresatruesolo para espacios en blanco:fuente
StringUtils.isBlank(foo)realizará una verificación nula por usted. Si realizafoo.isEmpty()yfooes nulo, generará una NullPointerException.fuente
StringUtils.isBlank () devuelve verdadero para espacios en blanco (solo espacios en blanco) y también para String nulo. En realidad, recorta las secuencias de Char y luego realiza la comprobación.
StringUtils.isEmpty () devuelve verdadero cuando no hay secuencia en el parámetro String o cuando el parámetro String es nulo. La diferencia es que isEmpty () devuelve falso si el parámetro String contiene solo espacios en blanco. Considera los espacios en blanco como un estado de no estar vacío.
fuente
La única diferencia entre isBlank () y isEmpty () es:
fuente
Ambos tienen el mismo código, ¿cómo manejará isBlank los espacios en blanco? Probablemente se refería a isBlankString.
fuente
En lugar de usar lib de terceros, use Java 11 isBlank ()
fuente
Estoy respondiendo esto porque es el principal resultado en Google para el "Método String isBlank ()".
Si está utilizando Java 11 o superior, puede utilizar el método de clase de cadena isBlank () . Este método hace lo mismo que la clase Apache Commons StringUtils.
He escrito una pequeña publicación sobre ejemplos de este método, léalo aquí .
fuente