莊周夢(mèng)蝶

          生活、程序、未來(lái)
             :: 首頁(yè) ::  ::  :: 聚合  :: 管理

          Java Tips:使用Pattern.split替代String.split

          Posted on 2009-05-21 22:49 dennis 閱讀(3212) 評(píng)論(2)  編輯  收藏 所屬分類: java
              String.split方法很常用,用于切割字符串,split傳入的參數(shù)是正則表達(dá)式,它的內(nèi)部是每次都comiple正則表達(dá)式,再調(diào)用Pattern.split方法:
          public String[] split(String regex, int limit) {
              
          return Pattern.compile(regex).split(this, limit);
              }

            
          public String[] split(String regex) {
                  
          return split(regex, 0);
              }

              因此,如果你調(diào)用String.split非常頻繁的話,每次都重新編譯正則表達(dá)式的代價(jià)很高,性能會(huì)受到很大影響,此時(shí)最好自己預(yù)編譯Pattern,再調(diào)用Pattern.split方法為妙。
          String []items=line.split(" ");

          //替代為

          static Pattern pattern=Pattern.compile(" ");



          String []items
          =pattern.split(line,0);


          PS.今天支付寶的蔡學(xué)鏞大師到公司演講,做的是《關(guān)于我的IT學(xué)習(xí)生活》的主題講座,介紹了他的經(jīng)歷和經(jīng)驗(yàn),留下深刻印象的是他看起來(lái)很年輕,和照片相差比較大,并且上過(guò)3所大學(xué),呆過(guò)兩家同一個(gè)人開(kāi)的公司并都倒閉了,非常有趣的經(jīng)歷。








          評(píng)論

          # re: Java Tips:使用Pattern.split替代String.split  回復(fù)  更多評(píng)論   

          2009-05-22 12:21 by Sparkle
          而實(shí)際上,如果你根本沒(méi)想過(guò)用正則來(lái)split的話,StringTokenizer性能更高

          # re: Java Tips:使用Pattern.split替代String.split  回復(fù)  更多評(píng)論   

          2009-05-22 18:51 by dennis
          @Sparkle
          嗯,如果沒(méi)用到正則的話,還是StringTokenizer最快,多謝提醒。
          主站蜘蛛池模板: 北安市| 灵山县| 云龙县| 潍坊市| 洪江市| 顺平县| 砚山县| 交城县| 合川市| 宝应县| 永兴县| 壶关县| 黔西县| 洛扎县| 乌拉特中旗| 康保县| 阿荣旗| 晋江市| 樟树市| 海伦市| 栾城县| 绥德县| 九龙城区| 玛沁县| 特克斯县| 称多县| 丹江口市| 井陉县| 绵阳市| 孝义市| 迭部县| 厦门市| 普洱| 台山市| 左权县| 进贤县| 罗定市| 永登县| 乌什县| 宿州市| 安溪县|