logo

Java StringBuffer Class

Java StringBuffer-klassen används för att skapa föränderliga (modifierbara) String-objekt. StringBuffer-klassen i Java är densamma som String-klassen förutom att den är föränderlig, dvs den kan ändras.

Obs: Java StringBuffer-klassen är trådsäker, dvs. flera trådar kan inte komma åt den samtidigt. Så det är säkert och kommer att resultera i en beställning.

Viktiga konstruktörer av StringBuffer Class

KonstruktörBeskrivning
StringBuffer()Det skapar en tom strängbuffert med den initiala kapaciteten 16.
StringBuffer(String str)Den skapar en strängbuffert med den angivna strängen.
StringBuffer (int kapacitet)Det skapar en tom strängbuffert med den angivna kapaciteten som längd.

Viktiga metoder för StringBuffer-klassen

Modifierare och typMetodBeskrivning
offentlig synkroniserad StringBufferappend(String s)Den används för att lägga till den angivna strängen med denna sträng. Metoden append() är överbelastad som append(char), append(boolean), append(int), append(float), append(double) etc.
offentlig synkroniserad StringBufferinsert(int offset, String s)Den används för att infoga den angivna strängen med denna sträng på den angivna positionen. Metoden insert() är överbelastad som insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) etc.
offentlig synkroniserad StringBufferreplace(int startIndex, int endIndex, String str)Den används för att ersätta strängen från specificerat startIndex och endIndex.
offentlig synkroniserad StringBufferdelete(int startIndex, int endIndex)Den används för att ta bort strängen från specificerat startIndex och endIndex.
offentlig synkroniserad StringBufferomvänd()används för att vända strängen.
offentlig intkapacitet()Den används för att returnera den aktuella kapaciteten.
offentligt tomrumsureCapacity(int minimumCapacity)Den används för att säkerställa att kapaciteten är minst lika med det givna minimumet.
offentlig rödingcharAt(int index)Den används för att returnera tecknet på den angivna positionen.
offentlig intlängd()Den används för att returnera längden på strängen, dvs det totala antalet tecken.
offentlig strängsubstring(int beginIndex)Den används för att returnera delsträngen från det angivna beginIndex.
offentlig strängsubstring(int startIndex, int endIndex)Den används för att returnera delsträngen från det angivna beginIndex och endIndex.

Vad är en föränderlig sträng?

En sträng som kan modifieras eller ändras är känd som föränderlig sträng. Klasserna StringBuffer och StringBuilder används för att skapa föränderliga strängar.

1) StringBuffer Class append() Metod

Metoden append() sammanfogar det givna argumentet med denna sträng.

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 } } 

Produktion:

 Hello Java 

2) StringBuffer insert() Metod

Metoden insert() infogar den givna strängen med denna sträng på den givna positionen.

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 } } 

Produktion:

 HJavaello 

3) StringBuffer replace() Metod

Metoden replace() ersätter den givna strängen från det angivna beginIndex och 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 } } 

Produktion:

 HJavalo 

4) StringBuffer delete() Metod

Metoden delete() för klassen StringBuffer tar bort strängen från det angivna beginIndex till 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 } } 

Produktion:

 Hlo 

5) StringBuffer reverse() metod

Metoden reverse() för klassen StringBuilder omvänder den aktuella strängen.

StringBufferExample5.java

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

Produktion:

 olleH 

6) StringBuffer capacity() Metod

Capacity()-metoden för StringBuffer-klassen returnerar buffertens nuvarande kapacitet. Standardkapaciteten för bufferten är 16. Om antalet tecken ökar från dess nuvarande kapacitet, ökar den kapaciteten med (gammal kapacitet*2)+2. Till exempel om din nuvarande kapacitet är 16 blir den (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 } } 

Produktion:

 16 16 34 

7) StringBuffer sureCapacity()-metoden

Metoden sureCapacity() för StringBuffer-klassen säkerställer att den givna kapaciteten är den minsta till den aktuella kapaciteten. Om den är större än den nuvarande kapaciteten ökar den kapaciteten med (gammal kapacitet*2)+2. Till exempel om din nuvarande kapacitet är 16 blir den (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 } } 

Produktion:

 16 16 34 34 70