logo

Java StringBuffer-Klasse

Die Java-StringBuffer-Klasse wird zum Erstellen veränderbarer (änderbarer) String-Objekte verwendet. Die StringBuffer-Klasse in Java ist mit der String-Klasse identisch, außer dass sie veränderbar ist, d. h. geändert werden kann.

Hinweis: Die Java StringBuffer-Klasse ist threadsicher, d. h. mehrere Threads können nicht gleichzeitig darauf zugreifen. Es ist also sicher und führt zu einer Bestellung.

Wichtige Konstruktoren der StringBuffer-Klasse

KonstrukteurBeschreibung
StringBuffer()Es erstellt einen leeren String-Puffer mit der anfänglichen Kapazität von 16.
StringBuffer(String str)Es erstellt einen String-Puffer mit der angegebenen Zeichenfolge.
StringBuffer(int Kapazität)Es erstellt einen leeren String-Puffer mit der angegebenen Kapazität als Länge.

Wichtige Methoden der StringBuffer-Klasse

Modifikator und TypMethodeBeschreibung
öffentlicher synchronisierter StringBufferappend(String s)Es wird verwendet, um die angegebene Zeichenfolge mit dieser Zeichenfolge anzuhängen. Die append()-Methode ist wie append(char), append(boolean), append(int), append(float), append(double) usw. überladen.
öffentlicher synchronisierter StringBufferinsert(int offset, String s)Es wird verwendet, um die angegebene Zeichenfolge mit dieser Zeichenfolge an der angegebenen Position einzufügen. Die Methode insert() ist wie insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) usw. überladen.
öffentlicher synchronisierter StringBufferersetzen(int startIndex, int endIndex, String str)Es wird verwendet, um die Zeichenfolge aus dem angegebenen startIndex und endIndex zu ersetzen.
öffentlicher synchronisierter StringBufferdelete(int startIndex, int endIndex)Es wird verwendet, um die Zeichenfolge aus dem angegebenen startIndex und endIndex zu löschen.
öffentlicher synchronisierter StringBufferumkehren()wird verwendet, um die Zeichenfolge umzukehren.
öffentlich intKapazität()Es wird verwendet, um die aktuelle Kapazität zurückzugeben.
öffentliche LeeresecureCapacity(int MinimumCapacity)Es wird verwendet, um sicherzustellen, dass die Kapazität mindestens dem angegebenen Minimum entspricht.
öffentliches CharcharAt(int index)Es wird verwendet, um das Zeichen an der angegebenen Position zurückzugeben.
öffentlich intLänge()Es wird verwendet, um die Länge der Zeichenfolge zurückzugeben, d. h. die Gesamtzahl der Zeichen.
öffentliche Zeichenfolgesubstring(int beginIndex)Es wird verwendet, um den Teilstring vom angegebenen beginIndex zurückzugeben.
öffentliche ZeichenfolgeTeilzeichenfolge (int beginIndex, int endIndex)Es wird verwendet, um den Teilstring aus dem angegebenen beginIndex und endIndex zurückzugeben.

Was ist ein veränderlicher String?

Ein String, der geändert oder geändert werden kann, wird als veränderlicher String bezeichnet. Die Klassen StringBuffer und StringBuilder werden zum Erstellen veränderlicher Zeichenfolgen verwendet.

1) StringBuffer-Klasse append()-Methode

Die append()-Methode verkettet das angegebene Argument mit diesem String.

StringBufferExample.java

 class StringBufferExample{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello '); sb.append('Java');//now original string is changed System.out.println(sb);//prints Hello Java } } 

Ausgabe:

 Hello Java 

2) StringBuffer insert()-Methode

Die Methode insert() fügt den angegebenen String mit diesem String an der angegebenen Position ein.

StringBufferExample2.java

 class StringBufferExample2{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello '); sb.insert(1,'Java');//now original string is changed System.out.println(sb);//prints HJavaello } } 

Ausgabe:

 HJavaello 

3) StringBuffer replace() Methode

Die Methode replace() ersetzt den angegebenen String aus dem angegebenen beginIndex und endIndex.

StringBufferExample3.java

 class StringBufferExample3{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.replace(1,3,'Java'); System.out.println(sb);//prints HJavalo } } 

Ausgabe:

 HJavalo 

4) StringBuffer delete() Methode

Die Methode delete() der Klasse StringBuffer löscht den String vom angegebenen beginIndex bis endIndex.

StringBufferExample4.java

 class StringBufferExample4{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.delete(1,3); System.out.println(sb);//prints Hlo } } 

Ausgabe:

 Hlo 

5) StringBuffer reverse() Methode

Die Methode reverse() der Klasse StringBuilder kehrt den aktuellen String um.

StringBufferExample5.java

 class StringBufferExample5{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.reverse(); System.out.println(sb);//prints olleH } } 

Ausgabe:

 olleH 

6) StringBuffer Capacity()-Methode

Die Methode Capacity() der Klasse StringBuffer gibt die aktuelle Kapazität des Puffers zurück. Die Standardkapazität des Puffers beträgt 16. Wenn sich die Anzahl der Zeichen gegenüber der aktuellen Kapazität erhöht, erhöht sich die Kapazität um (alte Kapazität*2)+2. Wenn Ihre aktuelle Kapazität beispielsweise 16 beträgt, beträgt sie (16*2)+2=34.

StringBufferExample6.java

 class StringBufferExample6{ public static void main(String args[]){ StringBuffer sb=new StringBuffer(); System.out.println(sb.capacity());//default 16 sb.append('Hello'); System.out.println(sb.capacity());//now 16 sb.append('java is my favourite language'); System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2 } } 

Ausgabe:

 16 16 34 

7) StringBuffer secureCapacity()-Methode

Die Methode secureCapacity() der StringBuffer-Klasse stellt sicher, dass die angegebene Kapazität das Minimum der aktuellen Kapazität ist. Wenn sie größer als die aktuelle Kapazität ist, erhöht sie die Kapazität um (oldcapacity*2)+2. Wenn Ihre aktuelle Kapazität beispielsweise 16 beträgt, beträgt sie (16*2)+2=34.

StringBufferExample7.java

 class StringBufferExample7{ public static void main(String args[]){ StringBuffer sb=new StringBuffer(); System.out.println(sb.capacity());//default 16 sb.append('Hello'); System.out.println(sb.capacity());//now 16 sb.append('java is my favourite language'); System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2 sb.ensureCapacity(10);//now no change System.out.println(sb.capacity());//now 34 sb.ensureCapacity(50);//now (34*2)+2 System.out.println(sb.capacity());//now 70 } } 

Ausgabe:

 16 16 34 34 70