我遇到了一些具有以下内容的代码:

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 )?

最佳答案

StringUtils.isBlank() 检查字符串的每个字符是否为空白字符(或者字符串是否为空或为空)。这与仅检查字符串是否为空完全不同。
从链接的文档:

为了比较 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()

关于java - StringUtils.isBlank() 与 String.isEmpty(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23419087/

10-14 12:45
查看更多