1.StringUtils.isEmpty(CharSequence cs)实现源码

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

从源码发现StringUtils.isEmpty(CharSequence cs)是判断了cs为null或cs.length()=0,但是我们要判断空白字符或者换行符等特殊的转义字符时,它的长度都是大于0的,所以用isEmpty判断是不行的

2.StringUtils.isBlank(CharSequence cs)实现源码

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

    从上可以发现,StringUtils.isBlank方法中比isEmpty多判断了空白字符即方法Character.isWhitespace    空白符有:空格、tab 键\n、换行符\t、回车符 \r 、换页符 \f

测试代码:

    public static void main(String[] args) {
//isWhitespace() 方法用于判断指定字符是否为空白字符,空白符包含:空格、tab 键、换行符。
System.out.println(Character.isWhitespace('c'));
System.out.println(Character.isWhitespace(' '));
System.out.println(Character.isWhitespace('\n'));
System.out.println(Character.isWhitespace('\t')); String str = "c";
String str1 = "";
String str2 = " ";
String str3 = "\n";
String str4 = "\t";
System.out.println("is blank:" + StringUtils.isBlank(str3));
System.out.println("is empty:" + StringUtils.isEmpty(str3));
}
false
true
true
true
is blank:true
is empty:false

3.结论

   若要过滤掉空白符用StringUtils.isBlank方法,若仅仅是判断字符是否为null或长度是否为0则用StringUtils.isEmpty

												

最新文章

  1. IOS 非ARC开发内存管理的几条规则
  2. HDU 5289
  3. NLog学习
  4. CF149D. Coloring Brackets[区间DP !]
  5. DB层面上的设计 分库分表 读写分离 集群化 负载均衡
  6. NSString用法
  7. QQ分组实现,可收缩---ExpandableListView
  8. Part 98 Anonymous methods in c#
  9. ios开发中MVC模式的理解
  10. C语言 rand()函数的用法
  11. UESTC_Infected Land 2015 UESTC Training for Search Algorithm &amp; String&lt;Problem G&gt;
  12. 一个关于Integer的秘密
  13. Codeforces Round #243 (Div. 2) Problem B - Sereja and Mirroring 解读
  14. Mocha的单元测试实战
  15. 回家(洛谷 P1592)
  16. linux命令学习-2-dmesg
  17. unity游戏设计之背包系统
  18. word20170101厨房家电kitchen appliances
  19. SpringBoot的自动配置原理过程解析
  20. python模块的导入的两种方式区别详解

热门文章

  1. MA8601升级版 PL2586|USB HUB 工控级芯片方案PL2586|可直接替代FE1.1S芯片方案
  2. 云南农职《JavaScript交互式网页设计》 综合机试试卷③——实现二级分类菜单
  3. 20道JavaScript经典面试题
  4. 物理CPU,物理CPU内核,逻辑CPU概念详解
  5. C# winform 遍历所有页面的所有控件 ,然后判断组件类型是什么
  6. [ flask ] 解耦models(解决models文件太臃肿的问题)
  7. JSP页面实际上就是Servlet
  8. 深入浅出 CSS 动画
  9. 使用.NET 6开发TodoList应用(30)——实现Docker打包和部署
  10. elasticsearch拼写纠错之Term Suggester