StringUtils裏的isEmpty方法和isBlank方法的區別

isEmpty()

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

isBlank()

public static boolean isBlank(String str) {
        int strLen;
        if (str != null && (strLen = str.length()) != 0) {
            for(int i = 0; i < strLen; ++i) {
                // 判斷字符是否爲空格、製表符、tab
                if (!Character.isWhitespace(str.charAt(i))) {    
                    return false;
                }
            }
            return true;
        } else {
            return true;
        }
    }

結論

通過以上代碼對比我們可以看出:

1.isEmpty 沒有忽略空格參數,是以是否爲空和是否存在爲判斷依據。
2.isBlank 是在 isEmpty 的基礎上進行了爲空(字符串都爲空格、製表符、tab 的情況)的判斷。(一般更爲常用)

大家可以看下面的例子去體會一下。

StringUtils.isEmpty("yyy") = false
StringUtils.isEmpty("") = true
StringUtils.isEmpty("   ") = false
 
StringUtils.isBlank("yyy") = false
StringUtils.isBlank("") = true
StringUtils.isBlank("   ") = true
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章