Classi String Buffer e String Builder

Il StringBuffer e StringBuilder le classi vengono utilizzate quando è necessario apportare molte modifiche alle stringhe di caratteri.

A differenza delle stringhe, gli oggetti di tipo StringBuffer e String builder possono essere modificati più e più volte senza lasciare molti nuovi oggetti inutilizzati.

La classe StringBuilder è stata introdotta a partire da Java 5 e la differenza principale tra StringBuffer e StringBuilder è che i metodi StringBuilders non sono thread-safe (non sincronizzati).

Si consiglia di utilizzare StringBuilderquando possibile perché è più veloce di StringBuffer. Tuttavia, se la sicurezza del thread è necessaria, l'opzione migliore sono gli oggetti StringBuffer.

Esempio

public class Test {

   public static void main(String args[]) {
      StringBuffer sBuffer = new StringBuffer("test");
      sBuffer.append(" String Buffer");
      System.out.println(sBuffer);  
   }
}

Questo produrrà il seguente risultato:

Produzione

test String Buffer

Metodi StringBuffer

Ecco l'elenco dei metodi importanti supportati dalla classe StringBuffer:

Sr.No. Metodi e descrizione
1 public StringBuffer append (String s)

Aggiorna il valore dell'oggetto che ha richiamato il metodo. Il metodo accetta boolean, char, int, long, Strings, ecc.

2 public StringBuffer reverse ()

Il metodo inverte il valore dell'oggetto StringBuffer che ha richiamato il metodo.

3 public delete (int start, int end)

Elimina la stringa a partire dall'indice iniziale fino all'indice finale.

4 inserimento pubblico (int offset, int i)

Questo metodo inserisce una stringa s nella posizione indicata dall'offset.

5 sostituire (int inizio, int fine, stringa str)

Questo metodo sostituisce i caratteri in una sottostringa di questo StringBuffer con i caratteri nella stringa specificata.

Ecco l'elenco degli altri metodi (eccetto i metodi set) che sono molto simili alla classe String -

Sr.No. Metodo e descrizione
1

int capacity()

Restituisce la capacità corrente del buffer String.

2

char charAt(int index)

Viene restituito il carattere specificato della sequenza attualmente rappresentata dal buffer di stringa, come indicato dall'argomento index.

3

void ensureCapacity(int minimumCapacity)

Assicura che la capacità del buffer sia almeno uguale al minimo specificato.

4

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

I caratteri vengono copiati da questo buffer di stringa nella matrice di caratteri di destinazione dst.

5

int indexOf(String str)

Restituisce l'indice all'interno di questa stringa della prima occorrenza della sottostringa specificata.

6

int indexOf(String str, int fromIndex)

Restituisce l'indice all'interno di questa stringa della prima occorrenza della sottostringa specificata, a partire dall'indice specificato.

7

int lastIndexOf(String str)

Restituisce l'indice all'interno di questa stringa dell'occorrenza più a destra della sottostringa specificata.

8

int lastIndexOf(String str, int fromIndex)

Restituisce l'indice all'interno di questa stringa dell'ultima occorrenza della sottostringa specificata.

9

int length()

Restituisce la lunghezza (numero di caratteri) di questo buffer di stringhe.

10

void setCharAt(int index, char ch)

Il carattere all'indice specificato di questo buffer di stringa è impostato su ch.

11

void setLength(int newLength)

Imposta la lunghezza di questo buffer String.

12

CharSequence subSequence(int start, int end)

Restituisce una nuova sequenza di caratteri che è una sottosequenza di questa sequenza.

13

String substring(int start)

Restituisce una nuova stringa che contiene una sottosequenza di caratteri attualmente contenuta in questo StringBuffer. La sottostringa inizia in corrispondenza dell'indice specificato e si estende fino alla fine di StringBuffer.

14

String substring(int start, int end)

Restituisce una nuova stringa che contiene una sottosequenza di caratteri attualmente contenuta in questo StringBuffer.

15

String toString()

Converte in una stringa che rappresenta i dati in questo buffer di stringhe.