logo

Classe Java StringBuffer

La classe Java StringBuffer viene utilizzata per creare oggetti String mutabili (modificabili). La classe StringBuffer in Java è uguale alla classe String tranne che è mutabile, ovvero può essere modificata.

Nota: la classe Java StringBuffer è thread-safe, ovvero più thread non possono accedervi contemporaneamente. Quindi è sicuro e risulterà in un ordine.

Importanti costruttori della classe StringBuffer

CostruttoreDescrizione
StringBuffer()Crea un buffer di stringhe vuoto con la capacità iniziale di 16.
StringBuffer(Stringa)Crea un buffer di stringhe con la stringa specificata..
StringBuffer(capacità int)Crea un buffer di stringhe vuoto con la capacità specificata come lunghezza.

Metodi importanti della classe StringBuffer

Modificatore e tipoMetodoDescrizione
StringBuffer pubblico sincronizzatoaggiungere(Stringa)Viene utilizzato per aggiungere la stringa specificata a questa stringa. Il metodo append() è sovraccaricato come append(char), append(boolean), append(int), append(float), append(double) ecc.
StringBuffer pubblico sincronizzatoinsert(int offset, String s)Viene utilizzato per inserire la stringa specificata con questa stringa nella posizione specificata. Il metodo insert() è sovraccaricato come insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) ecc.
StringBuffer pubblico sincronizzatosostituisci(int startIndex, int endIndex, String str)Viene utilizzato per sostituire la stringa da startIndex e endIndex specificati.
StringBuffer pubblico sincronizzatodelete(int startIndex, int endIndex)Viene utilizzato per eliminare la stringa da startIndex e endIndex specificati.
StringBuffer pubblico sincronizzatoinversione()viene utilizzato per invertire la corda.
pubblico intcapacità()Viene utilizzato per restituire la capacità corrente.
vuoto pubblicogarantireCapacità(int capacità minima)Viene utilizzato per garantire una capacità almeno pari al minimo indicato.
carattere pubblicocharAt(int indice)Viene utilizzato per restituire il carattere nella posizione specificata.
pubblico intlunghezza()Viene utilizzato per restituire la lunghezza della stringa, ovvero il numero totale di caratteri.
stringa pubblicasottostringa(int inizioIndice)Viene utilizzato per restituire la sottostringa dall'indice iniziale specificato.
stringa pubblicasottostringa(int indiceinizio, int indicefine)Viene utilizzato per restituire la sottostringa dall'indice iniziale e dall'indice finale specificati.

Cos'è una stringa mutabile?

Una stringa che può essere modificata o cambiata è nota come stringa mutabile. Le classi StringBuffer e StringBuilder vengono utilizzate per creare stringhe modificabili.

1) Metodo append() della classe StringBuffer

Il metodo append() concatena l'argomento fornito con questa stringa.

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

Produzione:

 Hello Java 

2) Metodo StringBuffer insert()

Il metodo insert() inserisce la stringa data con questa stringa nella posizione data.

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

Produzione:

 HJavaello 

3) Metodo StringBuffer replace()

Il metodo replace() sostituisce la stringa specificata da BeginIndex e EndIndex specificati.

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

Produzione:

 HJavalo 

4) Metodo StringBuffer delete()

Il metodo delete() della classe StringBuffer elimina la stringa dal BeginIndex specificato a 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 } } 

Produzione:

 Hlo 

5) Metodo StringBuffer reverse()

Il metodo reverse() della classe StringBuilder inverte la String corrente.

StringBufferExample5.java

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

Produzione:

 olleH 

6) Metodo StringBuffer capacità()

Il metodo capacity() della classe StringBuffer restituisce la capacità corrente del buffer. La capacità predefinita del buffer è 16. Se il numero di caratteri aumenta rispetto alla capacità corrente, aumenta la capacità di (oldcapacity*2)+2. Ad esempio, se la tua capacità attuale è 16, sarà (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 } } 

Produzione:

 16 16 34 

7) Metodo StringBuffer GuaranteeCapacity()

Il metodo GuaranteeCapacity() della classe StringBuffer garantisce che la capacità specificata sia minima rispetto alla capacità corrente. Se è maggiore della capacità attuale, aumenta la capacità di (vecchia capacità*2)+2. Ad esempio, se la tua capacità attuale è 16, sarà (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 } } 

Produzione:

 16 16 34 34 70