string.replaceAll 大量使用

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]