在搬磚的時候,經常看到 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會