在项目的工作学习中经常用到了 apache  commons 中的 StringUtils 的 isBlank 和 isEmpty 来判断字符串是否为空,这个方法都是判断字符串是否为空做判断的,以至于把我搞混了!!! 欲哭无泪啊,索性写个帖子记录下来。方便以后学习。

  不多说,我们直接看源码:

  isBlank:

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

  isEmpty:

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

  接着我们看几个例子就一目了然了:

//isBlank
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false //isEmpty
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false

我们可以看到大致没有什么太大的改动主要是对于空字符串的判断("  ").对于 isBlank为真而 isEmpty 为假。

最新文章

  1. Django rest_framework 实用技巧
  2. android应用安全——(数据抓包)跟踪监控android数据包
  3. requests库基本使用
  4. oracle中的常用语句
  5. [SQL]SQL语言入门级教材_SQL语言基本语句介绍(四)
  6. iOS后台如何保持socket长连接和数据传输
  7. apache2.4.x三种MPM介绍
  8. Eclipse desktop
  9. hdoj 1175 (bfs)
  10. Scoping the Project for iOS 7
  11. oracle 存储过程循环打开游标数据处理
  12. 课程四(Convolutional Neural Networks),第一周(Foundations of Convolutional Neural Networks) —— 2.Programming assignments:Convolutional Model: step by step
  13. poj2823 单调队列初步
  14. 解决《UNIX环境高级编程》(APUE)示例代码的编译问题
  15. shell shell基本概述
  16. 关于程序设计中INF和MOD值的设定
  17. php理解变量的作用域
  18. Android 编程下通过 zipalign 对 APK 文件进行优化
  19. C# 编码命名规则
  20. alsamixer + alsactl 控制放音通道

热门文章

  1. [转载]Java集合系列大全总结
  2. webstorm的debug模式
  3. ctx简介
  4. iOS AppStore个人开发者账号申请
  5. WinForm使用Label控件模拟分割线(竖向)
  6. Mysql链接字符串问题
  7. Mysql内置功能《五》 函数
  8. 大数据list去重
  9. 为 JSON 字符串创建对象
  10. fastcgi main