StringUtils.isBlank() vs String.isEmpty()

Попаднах на код, в който има следното:

String foo = getvalue("foo");
if (StringUtils.isBlank(foo))
    doStuff();
else
    doOtherStuff();

Изглежда, че това е функционално еквивалентно на следното:

String foo = getvalue("foo");
if (foo.isEmpty())
    doStuff();
else
    doOtherStuff();

Има ли разлика между двете (org.apache.commons.lang3.StringUtils.isBlank и java.lang.String.isEmpty)?

StringUtils.isBlank() също ще провери за null, докато това:

String foo = getvalue("foo");
if (foo.isEmpty())

ще изхвърли NullPointerException, ако foo е null.

Коментари (4)

StringUtils.isBlank връща true само за бели полета:

isBlank(String str)

Проверява дали даден низ е бял, празен ("") или нулев.

Коментари (0)

StringUtils.isBlank(foo) ще извърши проверка за нула вместо вас. Ако извършите foo.isEmpty() и foo е нула, ще предизвикате NullPointerException.

Коментари (1)