La classe Java StringBuffer s'utilitza per crear objectes String mutables (modificables). La classe StringBuffer a Java és la mateixa que la classe String, excepte que és mutable, és a dir, es pot canviar.
Nota: la classe Java StringBuffer és segura per a fils, és a dir, diversos fils no hi poden accedir simultàniament. Per tant, és segur i donarà lloc a una comanda.
Constructors importants de la classe StringBuffer
Constructor | Descripció |
---|---|
StringBuffer() | Crea un buffer String buit amb la capacitat inicial de 16. |
StringBuffer(String str) | Crea un buffer de cadena amb la cadena especificada.. |
StringBuffer (capacitat int) | Crea una memòria intermèdia de cadena buida amb la capacitat especificada com a longitud. |
Mètodes importants de la classe StringBuffer
Modificador i tipus | Mètode | Descripció |
---|---|---|
StringBuffer sincronitzat públic | afegir (cadena s) | S'utilitza per afegir la cadena especificada amb aquesta cadena. El mètode append() està sobrecarregat com append (char), append (boolean), append (int), append (float), append (double), etc. |
StringBuffer sincronitzat públic | insert(int offset, String s) | S'utilitza per inserir la cadena especificada amb aquesta cadena a la posició especificada. El mètode insert() està sobrecarregat com insert (int, char), insert (int, boolean), insert (int, int), insert (int, float), insert (int, double), etc. |
StringBuffer sincronitzat públic | substituir(int startIndex, int endIndex, String str) | S'utilitza per substituir la cadena de startIndex i endIndex especificats. |
StringBuffer sincronitzat públic | delete(int startIndex, int endIndex) | S'utilitza per eliminar la cadena de startIndex i endIndex especificats. |
StringBuffer sincronitzat públic | revés () | s'utilitza per invertir la corda. |
públic int | capacitat () | S'utilitza per retornar la capacitat actual. |
buit públic | garantir capacitat (int minimumCapacity) | S'utilitza per garantir la capacitat almenys igual al mínim donat. |
caràcter públic | charAt (índex int) | S'utilitza per retornar el caràcter a la posició especificada. |
públic int | llargada() | S'utilitza per retornar la longitud de la cadena, és a dir, el nombre total de caràcters. |
cadena pública | subcadena (int beginIndex) | S'utilitza per retornar la subcadena del beginIndex especificat. |
cadena pública | subcadena (int beginIndex, int endIndex) | S'utilitza per retornar la subcadena del beginIndex i endIndex especificats. |
Què és una cadena mutable?
Una cadena que es pot modificar o canviar es coneix com a cadena mutable. Les classes StringBuffer i StringBuilder s'utilitzen per crear cadenes mutables.
1) Mètode Append() de la classe StringBuffer
El mètode append() concatena l'argument donat amb aquesta cadena.
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 } }
Sortida:
Hello Java
2) Mètode StringBuffer insert()
El mètode insert() insereix la cadena donada amb aquesta cadena a la posició donada.
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 } }
Sortida:
HJavaello
3) Mètode StringBuffer replace()
El mètode replace() substitueix la cadena donada de l'index beginIndex i endIndex especificats.
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 } }
Sortida:
HJavalo
4) Mètode StringBuffer delete().
El mètode delete() de la classe StringBuffer elimina la cadena del beginIndex especificat al 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 } }
Sortida:
Hlo
5) Mètode StringBuffer reverse().
El mètode reverse() de la classe StringBuilder inverteix la cadena actual.
StringBufferExample5.java
class StringBufferExample5{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.reverse(); System.out.println(sb);//prints olleH } }
Sortida:
olleH
6) Mètode StringBuffer capacity().
El mètode capacitat() de la classe StringBuffer retorna la capacitat actual del buffer. La capacitat per defecte de la memòria intermèdia és 16. Si el nombre de caràcters augmenta de la seva capacitat actual, augmenta la capacitat en (capacitat antiga*2)+2. Per exemple, si la vostra capacitat actual és de 16, serà (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 } }
Sortida:
16 16 34
7) Mètode StringBuffer assureCapacity().
El mètode assureCapacity() de la classe StringBuffer garanteix que la capacitat donada sigui la mínima per a la capacitat actual. Si és més gran que la capacitat actual, augmenta la capacitat en (capacitat antiga*2)+2. Per exemple, si la vostra capacitat actual és de 16, serà (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 } }
Sortida:
16 16 34 34 70