Sobes.tech
Back to questions
Junior — Middle
71

Какие отличия между классами String и StringBuilder в Java и в каких случаях предпочтительно использовать каждый из них?

Answer from AI

sobes.tech AI

В Java класс String представляет неизменяемую (immutable) строку. Каждый раз при изменении строки создаётся новый объект, что может быть неэффективно при множественных операциях конкатенации.

StringBuilder — это изменяемый (mutable) буфер символов, который позволяет эффективно изменять строку без создания новых объектов.

Когда использовать:

  • String — когда строка не меняется после создания или изменений немного.
  • StringBuilder — при частых изменениях строки, например, в циклах, при построении больших строк.

Пример:

StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10; i++) {
    sb.append(i).append(", ");
}
String result = sb.toString();