StringUtils裡面的 isEmpty方法和isBlank方法的區別

文章目錄

1、isEmpty() 方法

2、isBlank()方法

3、總結

1、isEmpty() 方法

源碼:

StringUtils裡面的 isEmpty方法和isBlank方法的區別

public static boolean isEmpty(String str) {

// 判斷字符串是否為空或長度為0

return str == null || str.length() == 0;

isEmpty 是判斷某個字符串是否為空,判斷的標準是 str == null || str.length() == 0

測試:

public class TestStringUtils {

public static void main(String[] args) {

System.out.println(StringUtils.isEmpty(null)); // true

System.out.println(StringUtils.isEmpty("")); // true

System.out.println(StringUtils.isEmpty(" ")); // false

System.out.println(StringUtils.isEmpty("\\t")); // false

System.out.println(StringUtils.isEmpty("揚帆向海")); // false

System.out.println(StringUtils.isEmpty(" 揚帆向海 ")); // false

}

}

2、isBlank()方法

源碼:

StringUtils裡面的 isEmpty方法和isBlank方法的區別

public static boolean isBlank(String str) {

int strLen;

// 判斷字符串是否為空或長度為是否為0

if (str != null && (strLen = str.length()) != 0) {

// 如果字符串不為空,且長度不為0,進行循環遍歷

for(int i = 0; i < strLen; ++i) {

// 如果字符串指定位置的值不為空白字符,返回false;否則返回true

if (!Character.isWhitespace(str.charAt(i))) {

return false;

}

}

return true;

} else {

return true;

}

}


isBlank 是判斷字符串是否為空或長度為0 或者是由空白符構成

測試:

public class TestStringUtils {

public static void main(String[] args) {

System.out.println(StringUtils.isBlank(null)); // true

System.out.println(StringUtils.isBlank("")); // true

System.out.println(StringUtils.isBlank(" ")); // true

System.out.println(StringUtils.isBlank("\\t")); // true

System.out.println(StringUtils.isBlank("揚帆向海")); // false

System.out.println(StringUtils.isBlank(" 揚帆向海 ")); // false

}

}

3、總結

isEmpty()方法沒有忽略空格,是以是否為空和是否存在為判斷依據;

isBlank()方法增加了字符串為空格、製表符的判斷。即isBlank()的判斷範圍更大,它在isEmpty()方法的基礎上,包括了空字符的判斷。在實際開發中,isBlank()方法更加常用。

由於水平有限,本博客難免有不足,懇請各位大佬不吝賜教!


分享到:


相關文章: