字符串处理工具类StringUtils常用方法总结

在日常工作中,对String的处理可以说处处可见,也偶尔用到StringUitls工具类,今天对照着这个工具类源码,我们来看看,它到底有哪些工具方法,能做什么,怎么实现的.

包名:org.apache.commons.lang3(比org.apache.commons.lang包下的StringUtils的版本更高一些)

 

1.isEmpty

参数:CharSequence cs;

返回值 :boolean

很简单,就是判断参数是否为空,是否长度为0.

这里我们说一下CharSequence这个接口.

打开这个接口,它定义了以上几个抽象方法,我们都很熟悉,获取长度,查找对应索引位置的字符,根据索引切割字符等等...

以下下都属于CharSequence接口实现类:CharBuffer、String、StringBuffer、StringBuilder。

根据多态性质,也就意味着isEmpty方法可以判断以上数据类型的参数是否为空.

扫描二维码关注公众号,回复: 5861680 查看本文章

然后isNotEmpty就是加了个"非",返回相反的值啦!

2.isAnyEmpty

参数:CharSequence css ,可变参数.

返回值:boolean

判断一组参数,是否有一个为空,有一个就返回true.

这里有一个值得学习的地方,就是遍历数组时,一般都为了方便写for(int i = 0 ; i <= arr.length ; i++)

更好的做法应该是在数组遍历时,将数组的长度赋值给固定变量,不需要每次都去arr.length获取,然后再对比.

 

3.isNoneEmpty

同样.返回isAnyEmpty的"非";

4.isBlank 

与isEmpty功能一样,判断是否为空,只是更细致.

与isEmpty的区别:不仅不能为空,同时判断指定字符是否为空白字符.空白符包含:空格、tab键、换行符

isNotBlank同上

5.isAnyBlank 

同样,判断一组参数中,是否有空的,有一个就返回true;

使用的是isBlank()进行判断.所以空格,tab键,换行符.都属于空

isNoneBlank方法同上

6.trim

用于去除前后空格;

这里就是调用String类中的trim,看一下实现:

1.拿到目标字符串的字符长度len,和初始索引值st=0;

2.循环对比出目标字符串左边的空格个数,得到除空格后的前后两个索引值给len和st;

3.通过两个索引截取出字符串,得到的就是去除前后两端空格的字符串

 

猜你喜欢

转载自blog.csdn.net/weixin_40648180/article/details/88874048