Java Tips:使用Pattern.split替代String.split
Posted on 2009-05-21 22:49 dennis 閱讀(3212) 評論(2) 編輯 收藏 所屬分類: java String.split方法很常用,用于切割字符串,split傳入的參數(shù)是正則表達(dá)式,它的內(nèi)部是每次都comiple正則表達(dá)式,再調(diào)用Pattern.split方法:
因此,如果你調(diào)用String.split非常頻繁的話,每次都重新編譯正則表達(dá)式的代價很高,性能會受到很大影響,此時最好自己預(yù)編譯Pattern,再調(diào)用Pattern.split方法為妙。
PS.今天支付寶的蔡學(xué)鏞大師到公司演講,做的是《關(guān)于我的IT學(xué)習(xí)生活》的主題講座,介紹了他的經(jīng)歷和經(jīng)驗,留下深刻印象的是他看起來很年輕,和照片相差比較大,并且上過3所大學(xué),呆過兩家同一個人開的公司并都倒閉了,非常有趣的經(jīng)歷。
public String[] split(String regex, int limit) {
return Pattern.compile(regex).split(this, limit);
}
public String[] split(String regex) {
return split(regex, 0);
}
return Pattern.compile(regex).split(this, limit);
}
public String[] split(String regex) {
return split(regex, 0);
}
因此,如果你調(diào)用String.split非常頻繁的話,每次都重新編譯正則表達(dá)式的代價很高,性能會受到很大影響,此時最好自己預(yù)編譯Pattern,再調(diào)用Pattern.split方法為妙。
String []items=line.split(" ");
//替代為
static Pattern pattern=Pattern.compile(" ");

String []items=pattern.split(line,0);
//替代為
static Pattern pattern=Pattern.compile(" ");

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