В Java объект StringBuilder неявно используется, когда строковая переменная управляется с помощью “+=”.
Пример
String s = "hoge"; s += "fuga"; s += "piyo";
Приведенный выше код будет скомпилирован в приведенный ниже код.
String s = "hoge"; s = (new StringBuilder(String.valueOf(s))).append("fuga") .toString(); s = (new StringBuilder(String.valueOf(s))).append("piyo") .toString();
Это пустая трата машинного ресурса, поэтому код должен быть написан, например
StringBuilder sb = new StringBuilder("hoge"); sb.append("fuga"); sb.append("piyo"); String s = sb.toString();
Или это можно написать проще
String s = new StringBuilder("hoge").append("fuga").append("piyo") .toString();
Ссылка https://www.ne.jp/asahi/hishidama/home/tech/java/string.html Ссылка
Оригинал: “https://dev.to/yasushitakehara/stringbuilder-is-implicitly-used-when-there-is-string-in-java-5e74”