首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >StringUtils.isBlank() vs String.isEmpty()

StringUtils.isBlank() vs String.isEmpty()
EN

Stack Overflow用户
提问于 2014-05-02 08:51:04
回答 8查看 528.7K关注 0票数 279

我遇到了一些代码,其中包含以下内容:

代码语言:javascript
复制
String foo = getvalue("foo");
if (StringUtils.isBlank(foo))
    doStuff();
else
    doOtherStuff();

这似乎在功能上等同于以下内容:

代码语言:javascript
复制
String foo = getvalue("foo");
if (foo.isEmpty())
    doStuff();
else
    doOtherStuff();

这两者(org.apache.commons.lang3.StringUtils.isBlankjava.lang.String.isEmpty)有什么区别吗?

EN

回答 8

Stack Overflow用户

发布于 2017-04-01 05:42:04

来自@arshajii的公认答案是完全正确的。然而,更明确地说,下面这样说:

StringUtils.isBlank()

代码语言:javascript
复制
 StringUtils.isBlank(null)      = true
 StringUtils.isBlank("")        = true  
 StringUtils.isBlank(" ")       = true  
 StringUtils.isBlank("bob")     = false  
 StringUtils.isBlank("  bob  ") = false

StringUtils.isEmpty

代码语言:javascript
复制
 StringUtils.isEmpty(null)      = true
 StringUtils.isEmpty("")        = true  
 StringUtils.isEmpty(" ")       = false  
 StringUtils.isEmpty("bob")     = false  
 StringUtils.isEmpty("  bob  ") = false
票数 155
EN

Stack Overflow用户

发布于 2014-05-02 08:53:04

StringUtils.isBlank()还将检查是否为null,而如下所示:

代码语言:javascript
复制
String foo = getvalue("foo");
if (foo.isEmpty())

如果foo为null,则将引发NullPointerException

票数 18
EN

Stack Overflow用户

发布于 2014-05-02 08:53:13

StringUtils.isBlank(foo)将为您执行null检查。如果执行foo.isEmpty()并且foo为null,则将引发NullPointerException。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23419087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档