全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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 
  } 
} 

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


# Java  # 大小写最快转换方式 


相关文章: 如何快速查询域名建站关键信息?  北京网站制作网页,网站升级改版需要多久?  如何在万网自助建站平台快速创建网站?  制作电商网页,电商供应链怎么做?  北京企业网站设计制作公司,北京铁路集团官方网站?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  定制建站是什么?如何实现个性化需求?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  家具网站制作软件,家具厂怎么跑业务?  在线制作视频网站免费,都有哪些好的动漫网站?  建站上传速度慢?如何优化加速网站加载效率?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  网站制作服务平台,有什么网站可以发布本地服务信息?  高端企业智能建站程序:SEO优化与响应式模板定制开发  建站主机如何安装配置?新手必看操作指南  建站主机与虚拟主机有何区别?如何选择最优方案?  如何基于云服务器快速搭建网站及云盘系统?  宿州网站制作公司兴策,安徽省低保查询网站?  如何彻底删除建站之星生成的Banner?  深圳网站制作案例,网页的相关名词有哪些?  开封网站制作公司,网络用语开封是什么意思?  如何选择域名并搭建高效网站?  如何在腾讯云免费申请建站?  c++怎么用jemalloc c++替换默认内存分配器【性能】  ,想在网上投简历,哪几个网站比较好?  如何通过西部数码建站助手快速创建专业网站?  如何快速搭建响应式可视化网站?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  如何快速查询网址的建站时间与历史轨迹?  建站主机选哪家性价比最高?  平台云上自主建站:模板化设计与智能工具打造高效网站  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  如何解决ASP生成WAP建站中文乱码问题?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  学校为何禁止电信移动建设网站?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  建站之星下载版如何获取与安装?  如何在Golang中使用replace替换模块_指定本地或远程路径  韩国服务器如何优化跨境访问实现高效连接?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  制作营销网站公司,淘特是干什么用的?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  高端云建站费用究竟需要多少预算?  网站按钮制作软件,如何实现网页中按钮的自动点击?  制作网站的模板软件,网站怎么建设?  如何用搬瓦工VPS快速搭建个人网站?  如何通过FTP空间快速搭建安全高效网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。