public static boolean isEmpty(CharSequence cs) { return cs == null || cs.length() == 0; }
從源碼發現StringUtils.isEmpty(CharSequence cs)是判斷了cs爲null或cs.length()=0,可是咱們要判斷空白字符或者換行符等特殊的轉義字符時,它的長度都是大於0的,因此用isEmpty判斷是不行的測試
public static boolean isBlank(CharSequence cs) { int strLen; if (cs != null && (strLen = cs.length()) != 0) { for(int i = 0; i < strLen; ++i) { if (!Character.isWhitespace(cs.charAt(i))) { return false; } } return true; } else { return true; } }
從上能夠發現,StringUtils.isBlank方法中比isEmpty多判斷了空白字符即方法Character.isWhitespace 空白符有:空格、tab 鍵\n、換行符\t、回車符 \r 、換頁符 \fspa
測試代碼:code
public static void main(String[] args) { //isWhitespace() 方法用於判斷指定字符是否爲空白字符,空白符包含:空格、tab 鍵、換行符。 System.out.println(Character.isWhitespace('c')); System.out.println(Character.isWhitespace(' ')); System.out.println(Character.isWhitespace('\n')); System.out.println(Character.isWhitespace('\t')); String str = "c"; String str1 = ""; String str2 = " "; String str3 = "\n"; String str4 = "\t"; System.out.println("is blank:" + StringUtils.isBlank(str3)); System.out.println("is empty:" + StringUtils.isEmpty(str3)); }
false true true true is blank:true is empty:false
若要過濾掉空白符用StringUtils.isBlank方法,若僅僅是判斷字符是否爲null或長度是否爲0則用StringUtils.isEmptyblog