最近在工作中有一个需求,需要对大段内容进行关键字替换,因数据量比较多,有几十万条,每一条为几千到上万个汉字不等,而且需要进行多次替换,但心在循环中有性能问题,所以拿java.lang.String的replace方法与apache-commons-lang的replace方法做了一个对比
String text = FileUtils.readFileToString(new File("E:/a.txt"), "GBK");
int c =100000;
long time = System.currentTimeMillis();
for(int i=0;i<c;i++){
// text.replace(".", "_");
StringUtils.replace(text, ".", "_");
}
System.out.println(System.currentTimeMillis()-time+"ms");
其实text为一段五千字左右的字符串,十万次循环中,结果为3657ms,结果比较乐观
而改用java.lang.String的replace方法,就不太乐观了,超过了20秒,看来apache-commons-lang的字符串替换方法性能要好太多了。
浙公网安备 33010602011771号