Sobes.tech
Junior — Middle

Was sind die Unterschiede zwischen den Klassen String und StringBuilder in Java und in welchen Fällen ist es vorzuziehen, jede von ihnen zu verwenden?

sobes.tech KI

Antwort von AI

In Java repräsentiert die Klasse String eine unveränderliche (immutable) Zeichenkette. Jedes Mal, wenn die Zeichenkette geändert wird, wird ein neues Objekt erstellt, was bei mehrfachen Konkatenationsoperationen ineffizient sein kann.

StringBuilder ist ein veränderbarer (mutable) Puffer für Zeichen, der es ermöglicht, die Zeichenkette effizient zu ändern, ohne neue Objekte zu erstellen.

Wann verwenden:

  • String — wenn die Zeichenkette nach der Erstellung nicht oder nur minimal geändert wird.
  • StringBuilder — bei häufigen Änderungen an der Zeichenkette, z.B. in Schleifen, beim Aufbau großer Zeichenketten.

Beispiel:

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