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 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!如有疑问请留言,或者到本站社区讨论!