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ör | Beskrivning |
---|---|
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 typ | Metod | Beskrivning |
---|---|---|
offentlig synkroniserad StringBuffer | append(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 StringBuffer | insert(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 StringBuffer | replace(int startIndex, int endIndex, String str) | Den används för att ersätta strängen från specificerat startIndex och endIndex. |
offentlig synkroniserad StringBuffer | delete(int startIndex, int endIndex) | Den används för att ta bort strängen från specificerat startIndex och endIndex. |
offentlig synkroniserad StringBuffer | omvänd() | används för att vända strängen. |
offentlig int | kapacitet() | Den används för att returnera den aktuella kapaciteten. |
offentligt tomrum | sureCapacity(int minimumCapacity) | Den används för att säkerställa att kapaciteten är minst lika med det givna minimumet. |
offentlig röding | charAt(int index) | Den används för att returnera tecknet på den angivna positionen. |
offentlig int | längd() | Den används för att returnera längden på strängen, dvs det totala antalet tecken. |
offentlig sträng | substring(int beginIndex) | Den används för att returnera delsträngen från det angivna beginIndex. |
offentlig sträng | substring(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