Der größte Vorteil von StringBuffer gegenüber zu String ist die Performance. Immer wenn du bei einem String etwas manipulierst, z.B. String str2 = str.concat(String str1) ; dann liefert die Methode einen neuen String zurück. Im obigen Beispiel: str2 = str+str1;
Hört sich nicht schlimm an, doch wenn das ein paar tausendmal passiert, dann wird schon richtig viel Speicher gefressen.
Und da kommt StringBuffer ins Spiel. Im gegensatz zu String reserviert StringBuffer immer ein bischen mehr Speicher um mit dem dann zu arbeiten. StringBuffer(int capacity);
Naja so wird bei StringBuffer nicht bei jeder kleinen Manipulation ein neues Objekt/String erzeugt, sondern der ihm alte Speicher wird solange genutzt wie es nur geht.
Außerdem hat sich die Klasse StringBuffer auf die Methoden append() und insert() spezialisiert.
Ist zwar sehr zusammengehackt aber wir haben ja auch schon fast Silvester