Ein StringBuffer als veränderbarer String

Java-Strings sind unveränderbar. Bei der Neubelegung einer String-Variablen wird somit jedes Mal ein neues String-Objekt erzeugt - bei häufigen Änderungen eine überflüssige Speicherbelastung.
Die Klasse java.lang.StringBuffer stellt eine Character-Sequenz bereit, die beliebig verändert und schließlich in einen String gewandelt werden kann.

Ein StingBuffer-Objekt kann durch vier überladene Konstruktoren erzeugt werden

stellt aber selbst kein String-Objekt dar, sondern muss - wenn gewünscht - durch die Methode toString() in einen solchen gewandelt werden.
Die wesentlichen Routinen zur Manipulation eines StringBuffer-Objektes sind die vielfach überladenen Methoden insert() und append(), mit deren Hilfe jeder beliebige Wert entweder an einem als Parameter übergebenen Index eingefügt oder ans Ende angehängt werden kann.

public class StrBuff {

    public static void main(String[] args) {
        StringBuffer buff = new StringBuffer("sch\u00E4fer");
        System.out.println(buff);
        buff.insert(3, 'l');
        System.out.println(buff);
        buff.insert(0, 7);
        System.out.println(buff);
        buff.append("h\u00F6hle");
        System.out.println(buff);
    }
}

Das Beispiel demonstriert dies durch das Einfügen des Characters 'l' an Position 3 und der String-Repräsentation des int-Wertes 7 am Anfang des Objektes.
Darüber hinaus kann erkannt werden, dass und wie in Java Character-Typen auch durch Unicode-Werte dargestellt werden können.