isBlank与isEmpty

在org.apache.commons.lang3.StringUtils有两个我们常用的用于字符串空判断的方法isBlank()和isEmpty(),他两个有什么区别的

先看两个方法的实现对比

public static boolean isBlank(final CharSequence cs) {
        int strLen;
        if (cs == null || (strLen = cs.length()) == 0) {
            return true;
        }
        for (int i = 0; i < strLen; i++) {
            if (Character.isWhitespace(cs.charAt(i)) == false) {
                return false;
            }
        }
        return true;
    }
public static boolean isEmpty(final CharSequence cs) {
        return cs == null || cs.length() == 0;
    }

  1)当字符串为null或者字符串长度为空时,两个方法返回为true。这点两者一致;

        2)当字符串中包含多于一个的空格时,isEmpty()由于未对空格判断,所以返回为false;isEmpty()返回为true;

public static void main(String[] agrs){
        System.out.println(StringUtils.isBlank("   "));
        System.out.println(StringUtils.isEmpty("   "));
    }

  执行结果

true
false

  

你想拥有什么,你就去追求什么!
原文地址:https://www.cnblogs.com/lchzlp/p/14985153.html