string.replaceAll 大量使用占用内存
string.replaceAll 都是string 替换 ,string 是对象 ,改变是要建立新的内存地址的,
也就是说 这样一来 需要建立很多 String 这样吃内存
怎么解决
它内部已经是使用StringBuffer来处理了,
没啥方法了,
看看源码:
jdk已经是使用较优的方式了
[code="java"]
String 类
public String replaceAll(String regex, String replacement) {
return Pattern.compile(regex).matcher(this).replaceAll(replacement);
}
Matcher 类
public String replaceAll(String replacement) {
reset();
boolean result = find();
if (result) {
StringBuffer sb = new StringBuffer();
do {
appendReplacement(sb, replacement);
result = find();
} while (result);
appendTail(sb);
return sb.toString();
}
return text.toString();
}
[/code]