Метод String.replace()
, к которому вы привязаны, принимает два значения char
, поэтому он заменяет только один символ другим (возможно, несколько раз, хотя).
С другой стороны, метод StringUtils.replace()
принимает значения String
в качестве строки поиска и замены, поэтому он может заменить более длинные подстроки.
Сравнимый метод в Java будет replaceAll()
. replaceAll()
, вероятно, будет медленнее, чем метод StringUtils
, потому что он поддерживает регулярные выражения и, таким образом, вводит накладные расходы при компиляции строки поиска и запуске поиска по регулярному выражению.
Обратите внимание, что в Java 5 введено String.replace(CharSequence, CharSequence)
, которое делает то же самое, что и StringUtils.replace(String,String)
(за исключением того, что оно выдает NullPointerException
, если любой из его аргументов null
). Обратите внимание, что CharSequence
- это интерфейс, реализованный String
, поэтому здесь вы можете использовать простые старые объекты String
.