Die Klasse Stringbuffer dient dazu, einzelne Zeichen zu längeren
Texten zusammenzustellen, die dann an einem Stück verarbeitet
werden können. Damit ein möglichst vielseitiger Einsatz
möglich ist, trifft die Klasse keine Annahme darüber, was
"verarbeiten" in diesem Zusammenhang bedeutet. Nur der
Zeitpunkt der Verarbeitung steht bereits fest, nämlich
immer, wenn dies explizit gewünscht wird oder der Text so lang
geworden ist, dass keine weiteren Zeichen hinzugefügt
werden können.
öffentliche Methoden
void put (char c)
Diese Methode fügt das Zeichen c an das Ende der
bereits gesammelten Zeichen an. Wenn die Pufferkapazität
des Stringbuffer Objektes nun erschöpft ist, müssen
die gesammelten Zeichen durch Aufruf der Methode
flush () verarbeitet werden.
virtual void flush()=0
Mit dieser Methode sollen die gesammelten Zeichen verarbeitet
und so Platz für neue Zeichen geschaffen werden. Die
Implementierung der Methode soll jedoch erst in den
abgeleiteten Klassen erfolgen.
Hinweise zur Implementierung
Zur Pufferung der Zeichen eignet sich ein fest dimensioniertes
Feld, auf das die abgeleiteten Klassen zugreifen können
müssen. Auch die Anzahl der Zeichen oder das zuletzt beschriebene
Feldelement sollte in den spezialisierten flush() Methoden erkennbar
sein.
Anmerkung
Anlass für die Einführung dieser Klasse war die
Erkenntnis, dass Ausgaben eines Programmes sehr häufig aus
vielen kleinen Komponenten bestehen, zum Beispiel, wenn die Namen und
Inhalte von Variablen dargestellt werden sollen. Andererseits
können wenige längere Texte meist viel effizienter
ausgegeben werden als viele kurze. Daher erscheint es sinnvoll, vor
der Ausgabe die einzelnen Komponenten mit Hilfe eines Stringbuffer
Objekts zusammenzufügen und erst später, z. B. bei einem
Zeilenumbruch, gesammelt auszugeben.