string.replaceAll 大量使用占用内存
string.replaceAll 都是string 替换 ,string 是对象 ,改变是要建立新的内存地址的,
也就是说 这样一来 需要建立很多 String 这样吃内存
怎么解决
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]