最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 大小寫最快轉(zhuǎn)換方式實例代碼

 更新時間:2017年07月14日 10:06:44   作者:hpgary  
這篇文章主要介紹了Java 大小寫最快轉(zhuǎn)換方式實例代碼的相關(guān)資料,需要的朋友可以參考下

Java 大小寫最快轉(zhuǎn)換方式實例代碼

         這里直接給出實現(xiàn)代碼,在代碼中注釋都很清楚,不多做介紹。

Java代碼 

package io.mycat; 
 
import java.util.stream.IntStream; 
/** 
 * 小寫字母的 'a'=97 大寫字母 A=65 更好相差32利用這個差進(jìn)行大小寫轉(zhuǎn)換 
 * @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 中,將大寫轉(zhuǎn)換成為小寫字母 
     * */ 
    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 
  } 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!如有疑問請留言,或者到本站社區(qū)討論!

相關(guān)文章

  • 關(guān)于java獲取新浪天氣示例

    關(guān)于java獲取新浪天氣示例

    這篇文章主要介紹了關(guān)于java獲取新浪天氣示例,新浪的接口可以直接通過城市名字查詢天氣所以這里使用新浪API,,需要的朋友可以參考下
    2023-04-04
  • SpringBoot多級緩存實現(xiàn)方案總結(jié)

    SpringBoot多級緩存實現(xiàn)方案總結(jié)

    所謂多級緩存,是指在整個系統(tǒng)架構(gòu)的不同系統(tǒng)層面進(jìn)行數(shù)據(jù)緩存,以提升訪問速度,多級緩存就是為了解決項目服務(wù)中單一緩存使用不足的缺點(diǎn),本文我們將給大家總結(jié)了SpringBoot多級緩存實現(xiàn)方案,需要的朋友可以參考下
    2023-08-08
  • SpringBoot集成JWT實現(xiàn)token驗證的流程

    SpringBoot集成JWT實現(xiàn)token驗證的流程

    Json web token (JWT), 是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標(biāo)準(zhǔn)((RFC 7519).這篇文章主要介紹了SpringBoot集成JWT實現(xiàn)token驗證,需要的朋友可以參考下
    2020-01-01
  • Java線程隊列LinkedBlockingQueue的使用

    Java線程隊列LinkedBlockingQueue的使用

    本文主要介紹了Java線程隊列LinkedBlockingQueue的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java虛擬機(jī)最多支持多少個線程的探討

    Java虛擬機(jī)最多支持多少個線程的探討

    這篇文章主要介紹了Java虛擬機(jī)最多支持多少個線程的問題,從StackOverflow上摘錄而來,需要的朋友可以參考下
    2014-04-04
  • @RequestBody注解Ajax post json List集合數(shù)據(jù)請求400/415的處理

    @RequestBody注解Ajax post json List集合數(shù)據(jù)請求400/41

    這篇文章主要介紹了@RequestBody注解Ajax post json List集合數(shù)據(jù)請求400/415的處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Spring BeanPostProcessor接口使用詳解

    Spring BeanPostProcessor接口使用詳解

    本篇文章主要介紹了Spring BeanPostProcessor接口使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • springboot中生成文件路徑的問題及解決方法

    springboot中生成文件路徑的問題及解決方法

    這篇文章主要介紹了springboot中生成文件路徑的問題及解決方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java中常見的中文亂碼總結(jié)

    java中常見的中文亂碼總結(jié)

    本文主要介紹了java中常見的中文亂碼以及解決方法,主要包括字節(jié)碼文件讀取時出現(xiàn)的亂碼問題,本文通過實例代碼給大家介紹的非常詳細(xì),具有很好的參考價值,感興趣的朋友跟隨小編一起看看吧
    2017-03-03
  • 詳解什么是Java線程池的拒絕策略?

    詳解什么是Java線程池的拒絕策略?

    今天給大家總結(jié)一下線程池的拒絕策略,文中有非常詳細(xì)的介紹及代碼示例,對正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05

最新評論

玛沁县| 梨树县| 会东县| 孟村| 通化县| 上犹县| 平湖市| 漳州市| 平度市| 阿尔山市| 庆安县| 安平县| 隆尧县| 天门市| 德兴市| 嵊泗县| 庄浪县| 璧山县| 南城县| 舞阳县| 应城市| 成武县| 会同县| 石台县| 南木林县| 忻城县| 柏乡县| 虞城县| 麻阳| 余干县| 泸西县| 原平市| 获嘉县| 类乌齐县| 舒城县| 水城县| 科技| 章丘市| 山东省| 鹤山市| 三台县|