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
Konstrukteur | Beschreibung |
---|---|
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 Typ | Methode | Beschreibung |
---|---|---|
öffentlicher synchronisierter StringBuffer | append(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 StringBuffer | insert(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 StringBuffer | ersetzen(int startIndex, int endIndex, String str) | Es wird verwendet, um die Zeichenfolge aus dem angegebenen startIndex und endIndex zu ersetzen. |
öffentlicher synchronisierter StringBuffer | delete(int startIndex, int endIndex) | Es wird verwendet, um die Zeichenfolge aus dem angegebenen startIndex und endIndex zu löschen. |
öffentlicher synchronisierter StringBuffer | umkehren() | wird verwendet, um die Zeichenfolge umzukehren. |
öffentlich int | Kapazität() | Es wird verwendet, um die aktuelle Kapazität zurückzugeben. |
öffentliche Leere | secureCapacity(int MinimumCapacity) | Es wird verwendet, um sicherzustellen, dass die Kapazität mindestens dem angegebenen Minimum entspricht. |
öffentliches Char | charAt(int index) | Es wird verwendet, um das Zeichen an der angegebenen Position zurückzugeben. |
öffentlich int | Länge() | Es wird verwendet, um die Länge der Zeichenfolge zurückzugeben, d. h. die Gesamtzahl der Zeichen. |
öffentliche Zeichenfolge | substring(int beginIndex) | Es wird verwendet, um den Teilstring vom angegebenen beginIndex zurückzugeben. |
öffentliche Zeichenfolge | Teilzeichenfolge (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