Sobes.tech
Junior — Middle

Mik a különbségek a String és a StringBuilder osztályok között Java-ban, és mely esetekben érdemes inkább az egyiket vagy a másikat használni?

sobes.tech MI

Válasz az MI-től

Java-ban az String osztály egy változatlan (immutable) karakterláncot képvisel. Minden alkalommal, amikor a láncot módosítják, egy új objektum jön létre, ami több összefűzési műveletnél nem hatékony.

A StringBuilder egy módosítható (mutable) karakterpuffer, amely lehetővé teszi a lánc hatékony módosítását anélkül, hogy új objektumokat hozna létre.

Mikor használjuk:

  • String — amikor a lánc nem változik a létrehozás után, vagy csak minimális változtatások történnek.
  • StringBuilder — gyakori változtatások esetén, például ciklusokban, nagy láncok építésekor.

Példa:

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