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
Constructeur | Beschrijving |
---|---|
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 type | Methode | Beschrijving |
---|---|---|
openbare gesynchroniseerde StringBuffer | toevoegen(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 StringBuffer | insert(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 StringBuffer | vervangen(int startIndex, int endIndex, String str) | Het wordt gebruikt om de tekenreeks van de opgegeven startIndex en endIndex te vervangen. |
openbare gesynchroniseerde StringBuffer | delete(int startIndex, int eindIndex) | Het wordt gebruikt om de tekenreeks uit de opgegeven startIndex en endIndex te verwijderen. |
openbare gesynchroniseerde StringBuffer | achteruit() | wordt gebruikt om de string om te keren. |
publiek int | capaciteit() | Het wordt gebruikt om de huidige capaciteit terug te geven. |
publieke leegte | sureCapacity(int minimumCapaciteit) | Het wordt gebruikt om ervoor te zorgen dat de capaciteit minimaal gelijk is aan het opgegeven minimum. |
openbaar karakter | charAt(int-index) | Het wordt gebruikt om het teken op de opgegeven positie terug te sturen. |
publiek int | lengte() | Het wordt gebruikt om de lengte van de string terug te geven, d.w.z. het totale aantal tekens. |
openbare tekenreeks | substring(int beginIndex) | Het wordt gebruikt om de subtekenreeks van de opgegeven beginIndex te retourneren. |
openbare tekenreeks | substring(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