Java 大小写最快转换方式实例代码
Java大小写最快转换方式实例代码
这里直接给出实现代码,在代码中注释都很清楚,不多做介绍。
Java代码
packageio.mycat;
importjava.util.stream.IntStream;
/**
*小写字母的'a'=97大写字母A=65更好相差32利用这个差进行大小写转换
*@author:Hpgary
*@date:2017年5月3日10:26:26
*@mail:hpgary@qq.com
**/
publicclassStringUtils{
protectedfinalstaticbyte[]CHAR_TYPE=newbyte[512];
protectedfinalstaticbyteCHARACTER_DIFFER=32;
static{
/**
*先将大写字母放入CHAR_TYPE中,将大写转换成为小写字母
**/
IntStream.rangeClosed('A','Z').forEach(c->CHAR_TYPE[c]=(byte)(c+CHARACTER_DIFFER));
/**
*将小写字母放入CHAR_TYPE,存值为小写字母
**/
IntStream.rangeClosed('a','z').forEach(c->CHAR_TYPE[c]=(byte)(c));
}
publicstaticbyte[]toUpperCase(Stringsrc){
byte[]bytes=src.getBytes();
for(intx=0;x=0){
byteb=CHAR_TYPE[bytes[x]];
if(b!=0){
bytes[x]=(byte)(b-CHARACTER_DIFFER);
}
}
}
returnbytes;
}
publicstaticbyte[]toLowerCase(Stringsrc){
byte[]bytes=src.getBytes();
for(intx=0;x=0){
byteb=CHAR_TYPE[bytes[x]];
if(b!=0){
bytes[x]=b;
}
}
}
returnbytes;
}
publicstaticvoidmain(String[]args){
intcount=100000;
Stringstr="fdajfadSKfj1221SDKfdasfdsafjdsafjlsadjfkl;sdajflksadjlfkjasdlk;fjasdklfasdA";
longtime2=System.currentTimeMillis();
for(intx=0;x
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!如有疑问请留言,或者到本站社区讨论!