Aktionen

String-Puffer- und String-Builder-Klassen

Aus Java Tutorial - Java lernen

Die Klassen StringBuffer und StringBuilder werden verwendet, wenn es notwendig ist, viele Änderungen an Zeichenketten vorzunehmen.

Im Gegensatz zu Strings können Objekte vom Typ StringBuffer und StringBuilder immer und immer wieder modifiziert werden, ohne dass viele neue unbenutzte Objekte zurückbleiben.

Die Klasse StringBuilder wurde mit Java 5 eingeführt, und der Hauptunterschied zwischen StringBuffer und StringBuilder besteht darin, dass die Methoden von StringBuilder nicht thread-sicher (nicht synchronisiert) sind.

Es wird empfohlen, wann immer möglich, StringBuilder zu verwenden, da es schneller als StringBuffer ist. Wenn jedoch die Threadsicherheit erforderlich ist, sind StringBuffer-Objekte die beste Option.

Beispiel

public class Test {

   public static void main(String args[]) {
      StringBuffer sBuffer = new StringBuffer("test");
      sBuffer.append(" String Buffer");
      System.out.println(sBuffer);  
   }
}

Dies wird zu folgendem Ergebnis führen:

Ausgabe

test String Buffer

StringBuffer-Methoden

Hier ist die Liste der wichtigen Methoden, die von der Klasse StringBuffer unterstützt werden:

Nummer Methode Beschreibung
1 public StringBuffer append(String s) Aktualisiert den Wert des Objekts, das die Methode aufgerufen hat. Die Methode nimmt boolean, char, int, long, Strings usw.
2 public StringBuffer reverse() Die Methode kehrt den Wert des StringBuffer-Objekts um, das die Methode aufgerufen hat.
3 public delete(int start, int end Löscht die Zeichenfolge vom Startindex bis zum Endindex.
4 public insert(int offset, int i) Diese Methode fügt eine Zeichenfolge s an der durch den Versatz angegebenen Position ein.
5 replace(int start, int end, String str) Bei dieser Methode werden die Zeichen in einer Teilzeichenfolge dieses StringBuffers durch Zeichen in der angegebenen Zeichenfolge ersetzt.

Hier ist die Liste der anderen Methoden (außer Set-Methoden), die der Klasse String sehr ähnlich sind:

Nummer Methode Beschreibung
1 int capacity() Gibt die aktuelle Kapazität des String-Puffers zurück.
2 char charAt(int index) Das angegebene Zeichen der gerade durch den Zeichenkettenpuffer dargestellten Sequenz, wie durch das Index-Argument angegeben, wird zurückgegeben.
3 void ensureCapacity(int minimumCapacity) Stellt sicher, dass die Kapazität des Puffers mindestens dem angegebenen Minimum entspricht.
4 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Die Zeichen werden aus diesem Zeichenkettenpuffer in die Zielzeichenmatrix dst kopiert.
5 int indexOf(String str) Gibt den Index innerhalb dieser Zeichenfolge des ersten Vorkommens der angegebenen Teilzeichenfolge zurück.
6 int indexOf(String str, int fromIndex) Gibt den Index innerhalb dieser Zeichenfolge des ersten Vorkommens der angegebenen Teilzeichenfolge zurück, beginnend mit dem angegebenen Index.
7 int lastIndexOf(String str) Gibt den Index innerhalb dieser Zeichenfolge des ganz rechts stehenden Vorkommens der angegebenen Teilzeichenfolge zurück.
8 int lastIndexOf(String str, int fromIndex) Gibt den Index innerhalb dieser Zeichenfolge des letzten Vorkommens der angegebenen Teilzeichenfolge zurück.
9 int length() Gibt die Länge (Zeichenanzahl) dieses Zeichenkettenpuffers zurück.
10 void setCharAt(int index, char ch) Das Zeichen am angegebenen Index dieses String-Puffers wird auf ch gesetzt.
11 void setLength(int newLength) Legt die Länge dieses String-Puffers fest.
12 CharSequence subSequence(int start, int end) Gibt eine neue Zeichenfolge zurück, die eine Teilsequenz dieser Sequenz ist.
13 String substring(int start) Gibt eine neue Zeichenfolge zurück, die eine Unterfolge von Zeichen enthält, die derzeit in diesem Zeichenfolgepuffer enthalten ist. Die Teilzeichenfolge beginnt am angegebenen Index und erstreckt sich bis zum Ende des Zeichenfolgenpuffers.
14 String substring(int start, int end) Gibt eine neue Zeichenfolge zurück, die eine Unterfolge von Zeichen enthält, die derzeit in diesem Zeichenfolgepuffer enthalten ist.
15 String toString() Konvertiert in eine Zeichenkette, die die Daten in diesem Zeichenkettenpuffer repräsentiert.