String.split方法很常用,用于切割字符串,split传入的参数是正则表达式,它的内部是每次都comiple正则表达式,再调用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);
}
因此,如果你调用String.split非常频繁的话,每次都重新编译正则表达式的代价很高,性能会受到很大影响,此时最好自己预编译Pattern,再调用Pattern.split方法为妙。
String []items=line.split(" ");
//替代为
static Pattern pattern=Pattern.compile(" ");
String []items=pattern.split(line,0);
PS.今天支付宝的蔡学镛大师到公司演讲,做的是《关于我的IT学习生活》的主题讲座,介绍了他的经历和经验,留下深刻印象的是他看起来很年轻,和照片相差比较大,并且上过3所大学,呆过两家同一个人开的公司并都倒闭了,非常有趣的经历。
文章转自庄周梦蝶 ,原文发布时间2009-05-21
时间: 2024-09-26 05:34:37