架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 80|回复: 0

[资料] Java工具类StringUtils中isEmpty、isBlank、isNotEmpty、isNotBlank方法

[复制链接]
跳转到指定楼层
楼主
发表于 2019-6-28 15:55:23
zu
1. isEmpty方法源码详解

  1. public static boolean isEmpty(CharSequence cs){
  2.     return (cs == null) || (cs.length() == 0);
  3. }
复制代码


源码分析:上面的方法可以看出只有当字符串非null非空串(”“)的时候才返回true;isNotEmpty方法跟跟isEmpty相反;

看如下官网的例子:


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


2. isBlank方法源码详解

  1.     public static boolean isBlank(CharSequence cs)
  2.     {
  3.       int strLen;

  4.       if ((cs == null) || ((strLen = cs.length()) == 0))
  5.         return true;
  6.       int strLen;
  7.       for (int i = 0; i < strLen; i++) {
  8.         if (!Character.isWhitespace(cs.charAt(i))) {
  9.           return false;
  10.         }
  11.       }
  12.       return true;
  13.     }
复制代码


源码分析:首先传入的参数是null或者空字符串的时候会返回true,接下来是通过Character.isWhitespace方法判断字符是否全部是空白字符(空格、tab键、换行),如果是就返回false,否则返回true;isNotBlank方法跟isBlank方法相反;

看下官网的例子:


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


3. isAnyBlank源码

  1.     public static boolean isAnyBlank(CharSequence... css)
  2.     {
  3.       if (ArrayUtils.isEmpty(css)) {
  4.         return false;
  5.       }
  6.       for (CharSequence cs : css) {
  7.         if (isBlank(cs)) {
  8.           return true;
  9.         }
  10.       }
  11.       return false;
  12.     }
复制代码
源码分析:首先参数数组是否为空,如果为空返回false,如果数组非空,就判断数组中的每个字符串是否空白符,有一个空白符就返回true;isNoneBlank标识数组中没有一个元素是空白符,与isAnyBlank相反;

4. isAllBlank源码分析


  1. public static boolean isAllBlank(CharSequence... css)
  2.     {
  3.       if (ArrayUtils.isEmpty(css)) {
  4.         return true;
  5.       }
  6.       for (CharSequence cs : css) {
  7.         if (isNotBlank(cs)) {
  8.           return false;
  9.         }
  10.       }
  11.       return true;
复制代码
源码分析:首先判断参数数组是否为空,如果是返回true,否则如果数组中的元素有一个是非空白符的就返回false;




上一篇:Java 文件遍历
下一篇:Java 封装zip解压缩方法
帖子永久地址: 

架构师_程序员 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与架构师_程序员享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和架构师_程序员的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、架构师_程序员管理员和版主有权不事先通知发贴者而删除本文

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2019-7-17 08:03

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表