StringBuilder stellt in Java eine veränderbare Zeichenfolge dar. Da die String-Klasse in Java eine unveränderliche Zeichenfolge erstellt, stellt die StringBuilder-Klasse eine Alternative zur String-Klasse dar, da sie eine veränderbare Zeichenfolge erstellt. Die Funktion von StringBuilder ist der StringBuffer-Klasse sehr ähnlich, da beide eine Alternative zur String-Klasse darstellen, indem sie eine veränderbare Zeichenfolge erstellen. Allerdings unterscheidet sich die StringBuilder-Klasse von der StringBuffer-Klasse durch die Synchronisierung. Die StringBuilder-Klasse bietet im Gegensatz zur StringBuffer-Klasse keine Garantie für die Synchronisierung. Daher ist diese Klasse als Ersatz für StringBuffer an Stellen konzipiert, an denen StringBuffer von einem einzelnen Thread verwendet wurde (was im Allgemeinen der Fall ist). Wenn möglich, wird empfohlen, diese Klasse anstelle von StringBuffer zu verwenden, da sie bei den meisten Implementierungen schneller ist. Instanzen von StringBuilder sind für die Verwendung durch mehrere Threads nicht sicher. Wenn eine solche Synchronisierung erforderlich ist, wird die Verwendung von StringBuffer empfohlen. String Builder ist im Vergleich zum String-Puffer nicht threadsicher und leistungsstark.
Die Klassenhierarchie ist wie folgt:
java.lang.Object ↳ java.lang ↳ Class StringBuilder>
Syntax:
public final class StringBuilder extends Object implements Serializable, CharSequence>
Konstruktoren in der Java StringBuilder-Klasse
- StringBuilder(): Konstruiert einen String-Builder ohne Zeichen und mit einer Anfangskapazität von 16 Zeichen. StringBuilder(int Capacity): Konstruiert einen String-Builder ohne Zeichen und mit einer durch das Kapazitätsargument angegebenen Anfangskapazität. StringBuilder(CharSequence seq): Konstruiert einen String-Builder, der dieselben Zeichen wie die angegebene CharSequence enthält. StringBuilder(String str): Konstruiert einen String-Builder, der mit dem Inhalt des angegebenen Strings initialisiert wird.
Unten finden Sie ein Beispielprogramm zur Veranschaulichung von StringBuilder in Java.
Java
// Java Code to illustrate StringBuilder> import> java.util.*;> import> java.util.concurrent.LinkedBlockingQueue;> public> class> GFG1 {> >public> static> void> main(String[] argv)>throws> Exception> >{> >// Create a StringBuilder object> >// using StringBuilder() constructor> >StringBuilder str =>new> StringBuilder();> >str.append(>'GFG'>);> >// print string> >System.out.println(>'String = '> + str.toString());> >// create a StringBuilder object> >// using StringBuilder(CharSequence) constructor> >StringBuilder str1> >=>new> StringBuilder(>'AAAABBBCCCC'>);> >// print string> >System.out.println(>'String1 = '> + str1.toString());> >// create a StringBuilder object> >// using StringBuilder(capacity) constructor> >StringBuilder str2 =>new> StringBuilder(>10>);> >// print string> >System.out.println(>'String2 capacity = '> >+ str2.capacity());> >// create a StringBuilder object> >// using StringBuilder(String) constructor> >StringBuilder str3> >=>new> StringBuilder(str1.toString());> >// print string> >System.out.println(>'String3 = '> + str3.toString());> >}> }> |
Merkmale einer Panda-Serie
>
>Ausgabe
String = GFG String1 = AAAABBBCCCC String2 capacity = 10 String3 = AAAABBBCCCC>
Methoden im Java StringBuilder
StringBuilder append(X x) : Diese Methode hängt die Zeichenfolgendarstellung des X-Typ-Arguments an die Sequenz an.
- StringBuilder appendCodePoint(int codePoint) : Diese Methode hängt die Zeichenfolgendarstellung des CodePoint-Arguments an diese Sequenz an.
- int Kapazität() : Diese Methode gibt die aktuelle Kapazität zurück.
- char charAt(int index) : Diese Methode gibt den char-Wert in dieser Sequenz am angegebenen Index zurück. IntStream chars(): Diese Methode gibt einen Int-Stream zurück, der die char-Werte aus dieser Sequenz auf Null erweitert.
- int codePointAt(int index) : Diese Methode gibt das Zeichen (Unicode-Codepunkt) am angegebenen Index zurück.
- int codePointBefore(int index) : Diese Methode gibt das Zeichen (Unicode-Codepunkt) vor dem angegebenen Index zurück.
- int codePointCount(int beginIndex, int endIndex) : Diese Methode gibt die Anzahl der Unicode-Codepunkte im angegebenen Textbereich dieser Sequenz zurück. IntStream codePoints(): Diese Methode gibt einen Stream von Codepunktwerten aus dieser Sequenz zurück.
- StringBuilder delete(int start, int end) : Diese Methode entfernt die Zeichen in einem Teilstring dieser Sequenz. StringBuilder deleteCharAt(int index) : Diese Methode entfernt das Zeichen an der angegebenen Position in dieser Sequenz.
- void secureCapacity(int MinimumCapacity) : Diese Methode stellt sicher, dass die Kapazität mindestens dem angegebenen Minimum entspricht.
- void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) : Mit dieser Methode werden Zeichen aus dieser Sequenz in das Zielzeichenarray dst kopiert.
- int indexOf() : Diese Methode gibt den Index innerhalb dieser Zeichenfolge des ersten Vorkommens der angegebenen Teilzeichenfolge zurück. StringBuilder insert(int offset, boolean b) : Diese Methode fügt die String-Darstellung des booleschen alternativen Arguments in diese Sequenz ein. StringBuilder insert(): Diese Methode fügt die String-Darstellung des char-Arguments in diese Sequenz ein.
- int lastIndexOf() : Diese Methode gibt den Index innerhalb dieser Zeichenfolge des letzten Vorkommens der angegebenen Teilzeichenfolge zurück.
- int Länge() : Diese Methode gibt die Länge (Anzahl der Zeichen) zurück. int offsetByCodePoints(int index, int codePointOffset) : Diese Methode gibt den Index innerhalb dieser Sequenz zurück, der vom angegebenen Index um codePointOffset-Codepunkte versetzt ist.
- StringBuilder ersetzen(int start, int end, String str) : Diese Methode ersetzt die Zeichen in einem Teilstring dieser Sequenz durch Zeichen im angegebenen String.
- StringBuilder reverse() : Diese Methode bewirkt, dass diese Zeichenfolge durch die Umkehrung der Sequenz ersetzt wird.
- void setCharAt(int index, char ch) : Bei dieser Methode wird das Zeichen am angegebenen Index auf ch gesetzt.
- void setLength(int newLength) : Diese Methode legt die Länge der Zeichenfolge fest.
- CharSequence subSequence(int start, int end) : Diese Methode gibt eine neue Zeichenfolge zurück, die eine Teilsequenz dieser Sequenz ist.
- String-Teilzeichenfolge() : Diese Methode gibt einen neuen String zurück, der eine Teilsequenz von Zeichen enthält, die derzeit in dieser Zeichenfolge enthalten sind.
- String toString() : Diese Methode gibt eine Zeichenfolge zurück, die die Daten in dieser Sequenz darstellt.
- void trimToSize() : Diese Methode versucht, den für die Zeichenfolge verwendeten Speicherplatz zu reduzieren.
Beispiel:
Java
// Java code to illustrate> // methods of StringBuilder> import> java.util.*;> import> java.util.concurrent.LinkedBlockingQueue;> public> class> GFG1 {> >public> static> void> main(String[] argv)> >throws> Exception> >{> >// create a StringBuilder object> >// with a String pass as parameter> >StringBuilder str> >=>new> StringBuilder(>'AAAABBBCCCC'>);> >// print string> >System.out.println(>'String = '> >+ str.toString());> >// reverse the string> >StringBuilder reverseStr = str.reverse();> >// print string> >System.out.println(>'Reverse String = '> >+ reverseStr.toString());> >// Append ', '(44) to the String> >str.appendCodePoint(>44>);> >// Print the modified String> >System.out.println(>'Modified StringBuilder = '> >+ str);> >// get capacity> >int> capacity = str.capacity();> >// print the result> >System.out.println(>'StringBuilder = '> + str);> >System.out.println(>'Capacity of StringBuilder = '> >+ capacity);> >}> }> |
>
>Ausgabe
String = AAAABBBCCCC Reverse String = CCCCBBBAAAA Modified StringBuilder = CCCCBBBAAAA, StringBuilder = CCCCBBBAAAA, Capacity of StringBuilder = 27>
StringBuilder ist eine weitere Klasse in Java, die zum Bearbeiten von Strings verwendet wird. Wie StringBuffer handelt es sich um eine veränderbare Klasse, mit der Sie den Inhalt der von ihr dargestellten Zeichenfolge ändern können. Allerdings ist StringBuilder nicht threadsicher und sollte daher nicht in einer Multithread-Umgebung verwendet werden.
Hier sind einige Beispiele für die Verwendung von StringBuilder in Java:
Java
public> class> StringBuilderExample {> >public> static> void> main(String[] args) {> >StringBuilder sb =>new> StringBuilder();> >sb.append(>'Hello'>);> >sb.append(>' '>);> >sb.append(>'world!'>);> >System.out.println(sb.toString());>// Output: 'Hello world!'> > >sb.insert(>6>,>'beautiful '>);> >System.out.println(sb.toString());>// Output: 'Hello beautiful world!'> > >sb.reverse();> >System.out.println(sb.toString());>// Output: '!dlrow lufituaeb olleH'> >}> }> |
>
>Ausgabe
Hello world! Hello beautiful world! !dlrow lufituaeb olleH>