Java 大小写最快转换方式实例代码

这里直接给出实现代码,在代码中注释都很清楚,不多做介绍。
Java代码
package io.mycat;
import java.util.stream.IntStream;
/**
* 小写字母的 'a'=97 大写字母 A=65 更好相差32利用这个差进行大小写转换
* @author : Hpgary
* @date : 2017年5月3日 10:26:26
* @mail: hpgary@qq.com
* */
public class StringUtils {
protected final static byte[] CHAR_TYPE = new byte[512];
protected final static byte CHARACTER_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));
}
public static byte[] toUpperCase(String src) {
byte[] bytes = src.getBytes();
for (int x = 0; x < bytes.length; x++) {
int tmpLen = bytes[x] << 1;
if (tmpLen < CHAR_TYPE.length && tmpLen >= 0) {
byte b = CHAR_TYPE[bytes[x]];
if (b != 0) {
bytes[x] = (byte) (b - CHARACTER_DIFFER);
}
}
}
return bytes;
}
public static byte[] toLowerCase(String src) {
byte[] bytes = src.getBytes();
for (int x = 0; x < bytes.length; x++) {
int tmpLen = bytes[x] << 1;
if (tmpLen < CHAR_TYPE.length && tmpLen >= 0) {
byte b = CHAR_TYPE[bytes[x]];
if (b != 0) {
bytes[x] = b;
}
}
}
return bytes;
}
public static void main(String[] args) {
int count = 100000 ;
String str = "fdajfadSKfj1221SDKfdasfdsafjdsafjlsadjfkl;sdajflksadjlfkjasdlk;fjasdklfasdA" ;
long time2 = System.currentTimeMillis();
for (int x = 0; x < count; x++) {
str.toUpperCase();
}
System.out.println(System.currentTimeMillis() - time2); //51 - 53
long time1 = System.currentTimeMillis();
for (int x = 0; x < count; x++) {
toUpperCase(str) ;
}
System.out.println(System.currentTimeMillis() - time1); // 35-37
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!如有疑问请留言,或者到本站社区讨论!
相关文章:
如何快速查询域名建站关键信息?
北京网站制作网页,网站升级改版需要多久?
如何在万网自助建站平台快速创建网站?
制作电商网页,电商供应链怎么做?
北京企业网站设计制作公司,北京铁路集团官方网站?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
定制建站是什么?如何实现个性化需求?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
家具网站制作软件,家具厂怎么跑业务?
在线制作视频网站免费,都有哪些好的动漫网站?
建站上传速度慢?如何优化加速网站加载效率?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
网站制作服务平台,有什么网站可以发布本地服务信息?
高端企业智能建站程序:SEO优化与响应式模板定制开发
建站主机如何安装配置?新手必看操作指南
建站主机与虚拟主机有何区别?如何选择最优方案?
如何基于云服务器快速搭建网站及云盘系统?
宿州网站制作公司兴策,安徽省低保查询网站?
如何彻底删除建站之星生成的Banner?
深圳网站制作案例,网页的相关名词有哪些?
开封网站制作公司,网络用语开封是什么意思?
如何选择域名并搭建高效网站?
如何在腾讯云免费申请建站?
c++怎么用jemalloc c++替换默认内存分配器【性能】
,想在网上投简历,哪几个网站比较好?
如何通过西部数码建站助手快速创建专业网站?
如何快速搭建响应式可视化网站?
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
如何快速查询网址的建站时间与历史轨迹?
建站主机选哪家性价比最高?
平台云上自主建站:模板化设计与智能工具打造高效网站
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
如何解决ASP生成WAP建站中文乱码问题?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
学校为何禁止电信移动建设网站?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
建站之星下载版如何获取与安装?
如何在Golang中使用replace替换模块_指定本地或远程路径
韩国服务器如何优化跨境访问实现高效连接?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
制作营销网站公司,淘特是干什么用的?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
高端云建站费用究竟需要多少预算?
网站按钮制作软件,如何实现网页中按钮的自动点击?
制作网站的模板软件,网站怎么建设?
如何用搬瓦工VPS快速搭建个人网站?
如何通过FTP空间快速搭建安全高效网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。