这边首先以一个简单的测试代码来解释这两者的区别:

@Test
void stringTest(){
String a
= " "; boolean empty = StringUtils.isEmpty(a); boolean blank = StringUtils.isBlank(a); System.out.println(empty);//false System.out.println(blank);//true }

由此可以看出“空格”使用isEmpty结果是false,而使用isBlank时结果是true。

再截取源码来看看:

isEmpty()

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

isBlank()

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

综上:isBlank 是在 isEmpty 的基础上进行了为空(字符串都为空格、制表符、tab 的情况)的判断。(一般更为常用)

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/Yale-L/p/11775947.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!