1. 程式人生 > 其它 >Java的isEmpty和isBlank

Java的isEmpty和isBlank

技術標籤:Javajava字串

在剛接觸java的時候,在字串判斷非空的時候,習慣性的使用equals來判空,有時候效果還不是很好,後來使用了StringUtils下的isEmpty和isBlank來判空,那這兩者又什麼區別呢?

public static boolean isEmpty(String str) {
    return str == null || str.length() == 0;
}

public static boolean isNotEmpty(String str) {
    return !isEmpty(str);
}

public static boolean
isBlank(String str) { int strLen; if (str != null && (strLen = str.length()) != 0) { for(int i = 0; i < strLen; ++i) { if (!Character.isWhitespace(str.charAt(i))) { return false; } } return true; } else { return
true; } } public static boolean isNotBlank(String str) { return !isBlank(str); }

上面的程式碼為原始碼,從原始碼中我們得出結論----
StringUtils.isEmpty(String str) 判斷某字串是否為空,為空的標準是 str==null 或 str.length()==0
StringUtils.isBlank(String str) 判斷某字串是否為空或長度為 0 或由空白符 (whitespace) 構成

最後總結一下:
isEmpty()和isBlank()方法的區別就是是否過濾掉空白符,isEmpty()中有空格時會認為有資料,但是isBlank()會過濾掉空格。所以個人建議在做非空判斷時使用isNotBlank()方法。