我遇到了一些代码,有以下:
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)之间有区别吗?
而不是使用第三方库,使用Java 11 isBlank()
System.out.println("".isEmpty()); //true
System.out.println(" ".isEmpty()); //false
System.out.println(('\u0020'+" "+'\u0020').isEmpty()); //false
System.out.println("".isBlank()); //true
System.out.println(" ".isBlank()); //true
System.out.println(('\u0020'+" "+'\u0020').isBlank()); //true
如果你想使用Java 8并且需要isBlank函数,那么尝试使用第三方库org.apache.commons.lang3.StringUtils
StringUtils.isBlank()
System.out.println(StringUtils.isBlank(null)); //true
System.out.println(StringUtils.isBlank("")); //true
System.out.println(StringUtils.isBlank(" ")); //true
System.out.println(StringUtils.isBlank("bob")); //false
System.out.println(StringUtils.isBlank(" bob ")); //false
StringUtils.isEmpty
System.out.println(StringUtils.isEmpty(null)); // = true
System.out.println(StringUtils.isEmpty("")); //= true
System.out.println(StringUtils.isEmpty(" ")); // = false
System.out.println(StringUtils.isEmpty("foo")); // = false
System.out.println(StringUtils.isEmpty(" foo ")); //= false
而不是使用第三方库,使用Java 11 isBlank()
System.out.println("".isEmpty()); //true
System.out.println(" ".isEmpty()); //false
System.out.println(('\u0020'+" "+'\u0020').isEmpty()); //false
System.out.println("".isBlank()); //true
System.out.println(" ".isBlank()); //true
System.out.println(('\u0020'+" "+'\u0020').isBlank()); //true
如果你想使用Java 8并且需要isBlank函数,那么尝试使用第三方库org.apache.commons.lang3.StringUtils
StringUtils.isBlank()
System.out.println(StringUtils.isBlank(null)); //true
System.out.println(StringUtils.isBlank("")); //true
System.out.println(StringUtils.isBlank(" ")); //true
System.out.println(StringUtils.isBlank("bob")); //false
System.out.println(StringUtils.isBlank(" bob ")); //false
StringUtils.isEmpty
System.out.println(StringUtils.isEmpty(null)); // = true
System.out.println(StringUtils.isEmpty("")); //= true
System.out.println(StringUtils.isEmpty(" ")); // = false
System.out.println(StringUtils.isEmpty("foo")); // = false
System.out.println(StringUtils.isEmpty(" foo ")); //= false