При выполнении конкатенирования множества строк мне было рекомендовано сделать это с помощью StringBuilder
как такового:
StringBuilder someString = new StringBuilder("abc");
someString.append("def");
someString.append("123");
someString.append("moreStuff");
в отличие от
String someString = "abc";
someString = someString + "def";
someString = someString + "123";
someString = someString + "moreStuff";
что приведет к созданию довольно многих строк, в отличие от одного.
Теперь мне нужно сделать аналогичную вещь, но вместо использования конкатенации я использую метод replace
для String как таковой:
String someString = SOME_LARGE_STRING_CONSTANT;
someString = someString.replace("$VARIABLE1", "abc");
someString = someString.replace("$VARIABLE2", "def");
someString = someString.replace("$VARIABLE3", "123");
someString = someString.replace("$VARIABLE4", "moreStuff");
Чтобы выполнить то же самое с помощью StringBuilder, я должен сделать это, просто для замены:
someString.replace(someString.indexOf("$VARIABLE1"), someString.indexOf("$VARIABLE1")+10, "abc");
Итак, мой вопрос: "Лучше ли использовать String.replace и создать много дополнительных строк, или еще использовать StringBuilder, и иметь много длинных линий, таких как один выше?"