Stringaddition: StringBuffer, statt Konkatenierung

Veröffentlicht von Maik am 12. Dezember 2007

Wer in Java Strings verknüpfen/verketten möchte und
das in grösserern Zahl, z.B. in einer Schleife, sollte
tunlichst vermeiden diese Strings per Addition zu verbinden:

String a = „Ma“;
String b = „i“;
String c = „k“;
String d = a + b + c;
//d = „Maik“

Erheblich performanter(Zeit und Speicher) ist es die Strings
mit einem StringBuffer zu verketten und diesen nachher auszulesen:

StringBuffer a = new StringBuffer(„Ma“);
a.append(„i“);
a.append(„k“);
String d = a.toString();
//d = „Maik“

In diesem kleinem Beispiel ist der Unterschied kaum messbar, aber
wenn mehrere hundert Strings verkettet werden müssen ist der
zweite Weg um ein Vielfaches schneller.

Im ersten Fall werden laufend neue Objekte erzeugt, was im zweiten Fall
nicht nötig ist, da immer das gleiche Objekt verwendet wird.

Ein Gedanke zu „Stringaddition: StringBuffer, statt Konkatenierung

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.