本文共 2055 字,大约阅读时间需要 6 分钟。
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)方法
1 2 3 4 5 6 | 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:
ArrayUtils :
StringUtils, RandomStringUtils:
个人认为字符工具了能在字符流的处理中能给解决问题带来很大的方便。字符串的转换,字符和整型的转换,字符集合,字符编码,字符序列的处理都可能在处理字符流过程中的细节问题上发挥很大的功效。
本文转自 secondriver 51CTO博客,原文链接:http://blog.51cto.com/aiilive/1282066,如需转载请自行联系原作者