logo

Java StringBuffer-klasse

De Java StringBuffer-klasse wordt gebruikt om veranderlijke (aanpasbare) String-objecten te maken. De klasse StringBuffer in Java is hetzelfde als de klasse String, behalve dat deze veranderlijk is, dat wil zeggen dat deze kan worden gewijzigd.

Opmerking: de klasse Java StringBuffer is thread-safe, dat wil zeggen dat meerdere threads er niet tegelijkertijd toegang toe hebben. Het is dus veilig en resulteert in een bestelling.

Belangrijke constructeurs van de StringBuffer-klasse

ConstructeurBeschrijving
StringBuffer()Het creëert een lege String-buffer met een initiële capaciteit van 16.
StringBuffer(Stringstr)Er wordt een stringbuffer gemaakt met de opgegeven string.
StringBuffer(int-capaciteit)Er wordt een lege String-buffer gemaakt met de opgegeven capaciteit als lengte.

Belangrijke methoden van de klasse StringBuffer

Modificator en typeMethodeBeschrijving
openbare gesynchroniseerde StringBuffertoevoegen(String s)Het wordt gebruikt om de opgegeven string aan deze string toe te voegen. De methode append() is overbelast, zoals append(char), append(boolean), append(int), append(float), append(double) etc.
openbare gesynchroniseerde StringBufferinsert(int offset, String s)Het wordt gebruikt om de opgegeven string met deze string op de opgegeven positie in te voegen. De methode insert() is overbelast, zoals insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) etc.
openbare gesynchroniseerde StringBuffervervangen(int startIndex, int endIndex, String str)Het wordt gebruikt om de tekenreeks van de opgegeven startIndex en endIndex te vervangen.
openbare gesynchroniseerde StringBufferdelete(int startIndex, int eindIndex)Het wordt gebruikt om de tekenreeks uit de opgegeven startIndex en endIndex te verwijderen.
openbare gesynchroniseerde StringBufferachteruit()wordt gebruikt om de string om te keren.
publiek intcapaciteit()Het wordt gebruikt om de huidige capaciteit terug te geven.
publieke leegtesureCapacity(int minimumCapaciteit)Het wordt gebruikt om ervoor te zorgen dat de capaciteit minimaal gelijk is aan het opgegeven minimum.
openbaar karaktercharAt(int-index)Het wordt gebruikt om het teken op de opgegeven positie terug te sturen.
publiek intlengte()Het wordt gebruikt om de lengte van de string terug te geven, d.w.z. het totale aantal tekens.
openbare tekenreekssubstring(int beginIndex)Het wordt gebruikt om de subtekenreeks van de opgegeven beginIndex te retourneren.
openbare tekenreekssubstring(int beginIndex, int endIndex)Het wordt gebruikt om de subtekenreeks van de opgegeven beginIndex en endIndex te retourneren.

Wat is een veranderlijke string?

Een string die kan worden gewijzigd of gewijzigd, staat bekend als veranderlijke string. De klassen StringBuffer en StringBuilder worden gebruikt voor het maken van veranderlijke tekenreeksen.

1) StringBuffer Class append()-methode

De methode append() voegt het gegeven argument samen met deze 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 } } 

Uitgang:

 Hello Java 

2) StringBuffer insert()-methode

De methode insert() voegt de gegeven String in met deze string op de opgegeven positie.

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

Uitgang:

 HJavaello 

3) StringBuffer vervangen() Methode

De methode Replace() vervangt de gegeven String uit de opgegeven beginIndex en 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 } } 

Uitgang:

 HJavalo 

4) StringBuffer delete()-methode

De methode delete() van de klasse StringBuffer verwijdert de String van de opgegeven beginIndex tot 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 } } 

Uitgang:

 Hlo 

5) StringBuffer reverse()-methode

De reverse()-methode van de klasse StringBuilder keert de huidige String om.

StringBufferExample5.java

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

Uitgang:

 olleH 

6) StringBuffer-capaciteit() Methode

De methode Capacity() van de klasse StringBuffer retourneert de huidige capaciteit van de buffer. De standaardcapaciteit van de buffer is 16. Als het aantal tekens toeneemt ten opzichte van de huidige capaciteit, wordt de capaciteit vergroot met (oude capaciteit*2)+2. Als uw huidige capaciteit bijvoorbeeld 16 is, zal dit (16*2)+2=34 zijn.

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

Uitgang:

 16 16 34 

7) StringBuffer sureCapacity()-methode

De methode sureCapacity() van de klasse StringBuffer zorgt ervoor dat de gegeven capaciteit het minimum is ten opzichte van de huidige capaciteit. Als deze groter is dan de huidige capaciteit, wordt de capaciteit vergroot met (oude capaciteit*2)+2. Als uw huidige capaciteit bijvoorbeeld 16 is, zal dit (16*2)+2=34 zijn.

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

Uitgang:

 16 16 34 34 70