Производительность string.replaceAll() страдает от неизменности строк?
Допустим, я вызвал replaceAll() для большой строки, которая заменила 1000 соответствующих экземпляров. Означает ли это, что 1000 строк были созданы и переназначены в процессе из-за неизменности строк? Есть ли более быстрые альтернативы?
2 ответа
Решение
Вы можете попробовать с StringBuffer/ StringBuilder, так как они являются изменяемыми CharSequence s:
CharSequence veryBigString = new StringBuilder();
Pattern.compile(regex).matcher(veryBigString).replaceAll(replacement);