读源码Apache-commons-lang3-3.1(三)

本文深入探讨Apache Commons Lang中的ChartUtils工具类,它提供了丰富的字符转换方法,包括字符到字符对象、字符串到字符对象、整型、字符串转换等,并支持处理null和空字符串。同时介绍了CharSequenceUtils类及其基本方法,如截取字符序列、查找位置等。文章还详细阐述了Char相关的类,如ChartUtils、CharSequenceUtils等,提供了完整的字符处理工具集合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apacehe-commons-lang中提供了ChartUtils这个以关键性的工具类,充分的对字符转换字符串,字符转换字符对象,转换整型,字符串转换,null和空字符串等提供了处理。


1.ChartUtils提供的方法

toCharacterObject(char)将参数字符转换为字符对象
toCharacterObject(String)将参数字符串的第一个字符转换为字符对象
toChar(Character)将参数字符对象转换为字符
toChar(Character, char)将第一个参数字符对象转换为字符,若为null则用第二个参数代替
toChar(String)将参数字符串的第一个字符转换为字符
toChar(String, char)将第一个参数字符串的第一个字符转换为字符,若为null或者长度为0则用第二个参数代替
toIntValue(char)字符转换整型
toIntValue(char, int)
toIntValue(Character)
toIntValue(Character, int)
toString(char)字符转换字符串
toString(Character)
unicodeEscaped(char)对字符进行unicode编码转换
unicodeEscaped(Character)
isAscii(char)
isAsciiPrintable(char)判断参数字符是否为打印字符[32,127)
isAsciiControl(char)判断参数字符是否为控制字符,小于32或者等于127
isAsciiAlpha(char)对字符进行字母,大小写字母,数字等进行判断
isAsciiAlphaUpper(char)
isAsciiAlphaLower(char)
isAsciiNumeric(char)
isAsciiAlphanumeric(char)

2.关于toChar(String, char)方法


public static char toChar(String str, char defaultValue) {
        if (StringUtils.isEmpty(str)) {
            return defaultValue;
        }
        return str.charAt(0);
    }

 说明:字符串的第一个字符作为转换后的char,当字符串为null或者长度为0的时候,将用第二个参数defaultvalue替代作为返回字符。

 在1.中个各方法相关的第二个参数通常作为替代值出现。


3.ChartUtils工具类实现对字符的判断,例如,数子,大小写字母,控制字符。

 以isAscii(char)代表的一系列isXXX(char)方法实现了这些功能。内部实现主要是基于字符与ASCII码之间的对应关系。


Apache-commons-lang提供的CharSequenceUtils类对字符序列进行处理。字符序列处理和字符串处理有着极大的相似之处。


4.CharSequenceUtils类提供的基本方法

subSequence(CharSequence,  int)截取字符序列
indexOf(CharSequence, int, int)从前往后判断第二个参数值在字符序列中的位置
indexOf(CharSequence, CharSequence, int)
lastIndexOf(CharSequence, int, int)从后往前判断第二个参数值在字符序列中的位置
lastIndexOf(CharSequence, CharSequence,  int)
toCharArray(CharSequence)字符序列转换为字符数组
regionMatches(CharSequence, boolean, int,  CharSequence, int, int)字符序列匹配,第二个参数大小写处理方式true忽略大小写,false反之

5.提供的Char相关的类有ChartUtils,CharSequenceUtils,CharSet,ChartSetUtils,CharEncoding,CharRange类对字符和字符对象进行了相关处理,提供了一套完整的字符处理工具集合。


参见其他工具类:

ObjectUtils Range:

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

ArrayUtils :

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

StringUtils, RandomStringUtils:

http://aiilive.blog.51cto.com/blog/1925756/1282146




   个人认为字符工具了能在字符流的处理中能给解决问题带来很大的方便。字符串的转换,字符和整型的转换,字符集合,字符编码,字符序列的处理都可能在处理字符流过程中的细节问题上发挥很大的功效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值