读源码Apache-commons-la

2023-01-31 03:01:17 apache 源码

   Apache-commons-lang中的StringUtils工具类中提供了相当丰富的方法,涉及到判断,截取,排序,选择,查找,计算,替换,转换等方面。


1.StringUtils工具类的一些方法


isEmpty(CharSequence)判断字符序列是否为null,或者长度为0
isBlank(CharSequence)判读字符序列是否为null,或者长度为0,或者为空字符
trim(String)两种去除字符串前后空字符方法,各自有不同实现的
   重载方法
strip(String)
equals(CharSequence, CharSequence)比较连个字符序列
indexOf(CharSequence, int)字符串自身方法的包装,调用
   CharSequenceUtils类中的方法
lastIndexOf(CharSequence, int)
contains(CharSequence, int)
indexOfAny(CharSequence, char...)返回第二个参数中任意字符在第一个参数字符序列中存在的第一个下标
containsAny(CharSequence, char...)第一个参数字符序列中是否存在第二个参数字符中的任意字符
substring(String, int)
left(String, int)从左,中,右获取指定长度的字符串
right(String, int)
mid(String, int, int)
substringBetween(String, String)获取第一个参数中,左右都是第二个参数的字符串
split(String)指定字符串来分割字符串为字符串数组
join(T...)连接数组元素为字符串
deleteWhitespace(String)删除字符串中的空白字符
replace(String, String, String)字符串替换
overlay(String, String, int, int)将字符串指定部分换成另外的字符串
chomp(String)剔除指定字符串的换行符
chop(String)剔除指定字符串的最后一个字符,如果最后两个字符是\n和\r一起剔除
repeat(String, int)重复指定字符串
rightPad(String, int)字符串左,右不空字符
leftPad(String, int)
center(String, int)两边补空白字符
upperCase(String)字符串转为大写字母
capitalize(String)字符串第一个字符转为大写
swapCase(String)字符串小写字母转大写,大写字母转小写
reverse(String)字符串反转
abbreviate(String, int)字符串简略,常用于外国人名的简写,书籍作者信息等
difference(String, String)比较两个字符串,返回不同部分,不同部分来自第二个字符串
getCommonPrefix(String...)获取字符串数组中字符串前缀相同的部分
getLevenshteinDistance(CharSequence,  CharSequence)字符串相似度
startsWith(CharSequence, CharSequence)指定字符串是否以第二个参数字符序列结束
endsWith(CharSequence, CharSequence)指定字符串是否以第二个参数字符序列结束



2.StringUtils类中方法说明

 在1中的方法仅仅是StringUtils类中的一部分方法,涉及各方面的方法,每一个方法基本上都有其重载方法,用来实现更强大,更特殊的功能。


3.使用StringUtils工具类,其中有用到CharUtils工具类的属性,方法等。工具类不依赖第三方包,充分利用了Java自有的特性,功能实现各种字符,字符串,字符序列的操作。


   RandomStringUtils工具类用来生成随机的字符串序列。


4.RandomStringUtils类的基本方法

random(int)随机生成指定长度的字符串,字符来自所有字符
randomAscii(int)随机生成指定长度的字符串,字符ASCII码范围[37,127)
randomAlphabetic(int)随机生成指定长度的字符串,字符为字母
randomAlphanumeric(int)随机生成指定长度的字符串,字符为字母和数字
randomNumeric(int)随机生成指定长度的字符串,字符为数字
random(int, boolean, boolean)重载方法:
   参数解释(指定长度,字符集开始位置,字符集结束位置,是否字母,是否数子,指定字符集,随机对象)
random(int, int, int, boolean, boolean)
random(int, int, int, boolean, boolean,  char...)
random(int, int, int, boolean, boolean,  char[], Random)
random(int, String)随机生成指定长度的字符串,字符为第二个参数中字符串中的字符
random(int, char...)随机生成指定长度的字符串,字符为第二个参数中的字符

5.随机生成字符串工具类提供了多种重载方法,可以自由选择生成字符序列的策略。

 

 关于字符串,字符,字符序列处理用用到apache-commmons-lang包下已经实现的方法,可以参考这些工具类的介绍。

CharUtils:Http://aiilive.blog.51cto.com/1925756/1282066

ObjectUtils:http://aiilive.blog.51cto.com/1925756/1282061

ArrayUtils:http://aiilive.blog.51cto.com/1925756/1282062

相关文章