StringUtils.isBlank() 与 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.isBlankjava.lang.String.isEmpty )?

原文由 NSA 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 774
2 个回答

StringUtils.isBlank() 检查字符串的每个字符是否为空白字符(或字符串为空或为空)。这与仅检查字符串是否为空完全不同。

从链接的文档中:

检查字符串是否为空格、空 (“”) 或 null。

>   StringUtils.isBlank(null)      = true
>  StringUtils.isBlank("")        = true
>  StringUtils.isBlank(" ")       = true
>  StringUtils.isBlank("bob")     = false
>  StringUtils.isBlank("  bob  ") = false
>
> ```

为了比较 **StringUtils.isEmpty** :

StringUtils.isEmpty(null) = true StringUtils.isEmpty(“”) = true StringUtils.isEmpty(” “) = false StringUtils.isEmpty(“bob”) = false StringUtils.isEmpty(” bob “) = false

”`

警告:在 java.lang.String .isBlank() 和 java.lang.String .isEmpty() 中,它们的工作方式相同,只是它们不为 — 返回 true null

java.lang.String.isBlank() (Java 11 起)

java.lang.String.isEmpty()

原文由 arshajii 发布,翻译遵循 CC BY-SA 4.0 许可协议

@arshajii 接受的答案是完全正确的。但是,通过在下面说得更明确,

StringUtils.isBlank()

  StringUtils.isBlank(null)      = true
 StringUtils.isBlank("")        = true
 StringUtils.isBlank(" ")       = true
 StringUtils.isBlank("bob")     = false
 StringUtils.isBlank("  bob  ") = false

StringUtils.isEmpty

  StringUtils.isEmpty(null)      = true
 StringUtils.isEmpty("")        = true
 StringUtils.isEmpty(" ")       = false
 StringUtils.isEmpty("bob")     = false
 StringUtils.isEmpty("  bob  ") = false

原文由 nilesh 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题