Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от 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();