文档章节

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

secondriver
 secondriver
发布于 2015/09/17 09:24
字数 818
阅读 24
收藏 0

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




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

本文出自 “野马红尘” 博客,谢绝转载!

© 著作权归作者所有

secondriver
粉丝 10
博文 229
码字总数 233821
作品 0
广州
程序员
私信 提问
使用eclipse给项目 maven install 报错

[INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for com.qyl:bbw_new:war:0.0.1-SNAPSHOT [WARNING] 'build.plu......

村口加瓦佬
2015/12/09
1K
1
Commons-lang3提供的StopWatch执行时间监视器

Commons-lang3提供的StopWatch执行时间监视器, spring也提供了同样功能的工具 前言 我们如果要统计一段代码的执行时间:我们的办法是 倘若我们要展示成秒、甚至分钟,还得我们自己处理 可能到...

独钓渔
06/26
36
0
使用Apache commons-text进行占位符替换

Apache commons-lang3包中的 StrSubstitutor可以将字符串中的变量替换为指定的值 从commons-lang3-3.6.jar版本起 org.apache.commons.lang3.text.StrSubstitutor已经过时,文档上建议用commo...

简言不简单
2017/12/15
0
0
学习StringUtils的问题:capitalize()

学习apache 的commons-lang3-3.6.jar的源码,从最常用到的StringUtils开始,发现一个非常奇怪的方法。当然也有别的代码的疑惑,但是这个最突出。以上的一段代码居然只实现首字母如过有大写,...

冷基
2017/07/09
2.3K
2
java转换json出现的错误

缺少相应jar包都会有异常,根据异常找jar包导入...... 这里我说下lang包,因为这个包我找了好半天: 我用的是: commons-lang3-3.1.jar 出现异常: java.lang.NoClassDefFoundError: org/ap...

aijfanta
2016/07/15
21
0

没有更多内容

加载失败,请刷新页面

加载更多

golang-字符串-地址分析

demo package mainimport "fmt"func main() {str := "map.baidu.com"fmt.Println(&str, str)str = str[0:5]fmt.Println(&str, str)str = "abc"fmt.Println(&s......

李琼涛
今天
4
0
Spring Boot WebFlux 增删改查完整实战 demo

03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello 。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里...

泥瓦匠BYSocket
今天
6
0
从0开始学FreeRTOS-(列表与列表项)-3

FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数...

杰杰1号
今天
4
0
Java反射

Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class,Class 类 用于表示.class 文件(字节码)) 一、反射的概述 定义:JAVA 反射机制是在运行状态中,对于任...

zzz1122334
今天
5
0
聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部