StringUtils.isBlank () vs String.isEmpty ()

Encontrei um código com o seguinte: String foo = getvalue("foo"); if (StringUtils.isBlank(foo)) doStuff(); else doOtherStuff(); Isso parece ser funcionalmente equivalente ao seguinte: String foo = getvalue("foo"); if (foo.isEmpty()) doStuff(); else doOtherStuff(); Existe uma diferença...