在搬砖的时候,经常看到 javaUtils包里面的这两个方法,究竟是有什么区别呢?

写一段代码来测试一下

@Test
public void testEmpty(){
String str1 = "";
String str2 = null;
String str3 = new String("");
String str4 = new String(" ");
String str5 = " ";
String str6 = "\r";
System.out.println(StringUtils.isEmpty(str1));//true
System.out.println(StringUtils.isEmpty(str2));//true
System.out.println(StringUtils.isEmpty(str3));//true
System.out.println(StringUtils.isEmpty(str4));//false
System.out.println(StringUtils.isEmpty(str5));//false
System.out.println(StringUtils.isEmpty(str6));//false
}
@Test
public void testBlank(){
String str1 = "";
String str2 = null;
String str3 = new String("");
String str4 = new String(" ");
String str5 = " ";
String str6 = "\n";
System.out.println(StringUtils.isBlank(str1));//true
System.out.println(StringUtils.isBlank(str2));//true
System.out.println(StringUtils.isBlank(str3));//true
System.out.println(StringUtils.isBlank(str4));//true
System.out.println(StringUtils.isBlank(str5));//true
System.out.println(StringUtils.isBlank(str6));//true
}

结果就是,isEmpty不会把空格、换行等特殊字符判断为空,而isBlank会

12-20 14:54