logo

Classe StringBuilder in Java con esempi

StringBuilder in Java rappresenta una sequenza mutevole di caratteri. Poiché la classe String in Java crea una sequenza immutabile di caratteri, la classe StringBuilder fornisce un'alternativa alla classe String, poiché crea una sequenza mutabile di caratteri. La funzione di StringBuilder è molto simile alla classe StringBuffer, poiché entrambe forniscono un'alternativa alla classe String creando una sequenza mutabile di caratteri. Tuttavia, la classe StringBuilder differisce dalla classe StringBuffer in base alla sincronizzazione. La classe StringBuilder non fornisce alcuna garanzia di sincronizzazione mentre la classe StringBuffer sì. Pertanto questa classe è progettata per essere utilizzata come sostituto immediato di StringBuffer nei luoghi in cui StringBuffer veniva utilizzato da un singolo thread (come generalmente accade). Ove possibile, si consiglia di utilizzare questa classe al posto di StringBuffer poiché sarà più veloce nella maggior parte delle implementazioni. Le istanze di StringBuilder non sono sicure per l'uso da parte di più thread. Se tale sincronizzazione è necessaria, si consiglia di utilizzare StringBuffer. String Builder non è thread-safe e offre prestazioni elevate rispetto a String buffer.

La gerarchia delle classi è la seguente:

ribasso barrato
java.lang.Object ↳ java.lang ↳ Class StringBuilder>

Sintassi:



public final class StringBuilder extends Object implements Serializable, CharSequence>

Costruttori nella classe Java StringBuilder

    StringBuilder(): costruisce un generatore di stringhe senza caratteri e con una capacità iniziale di 16 caratteri. StringBuilder(int capacità): costruisce un generatore di stringhe senza caratteri al suo interno e una capacità iniziale specificata dall'argomento capacità. StringBuilder(CharSequence seq): costruisce un generatore di stringhe che contiene gli stessi caratteri del CharSequence specificato. StringBuilder(String str): costruisce un generatore di stringhe inizializzato sul contenuto della stringa specificata.

Di seguito è riportato un programma di esempio per illustrare StringBuilder in Java.

Giava




// Java Code to illustrate StringBuilder> import> java.util.*;> import> java.util.concurrent.LinkedBlockingQueue;> public> class> GFG1 {> >public> static> void> main(String[] argv)>throws> Exception> >{> >// Create a StringBuilder object> >// using StringBuilder() constructor> >StringBuilder str =>new> StringBuilder();> >str.append(>'GFG'>);> >// print string> >System.out.println(>'String = '> + str.toString());> >// create a StringBuilder object> >// using StringBuilder(CharSequence) constructor> >StringBuilder str1> >=>new> StringBuilder(>'AAAABBBCCCC'>);> >// print string> >System.out.println(>'String1 = '> + str1.toString());> >// create a StringBuilder object> >// using StringBuilder(capacity) constructor> >StringBuilder str2 =>new> StringBuilder(>10>);> >// print string> >System.out.println(>'String2 capacity = '> >+ str2.capacity());> >// create a StringBuilder object> >// using StringBuilder(String) constructor> >StringBuilder str3> >=>new> StringBuilder(str1.toString());> >// print string> >System.out.println(>'String3 = '> + str3.toString());> >}> }>

come generare un numero casuale in Java

>

>

Produzione

String = GFG String1 = AAAABBBCCCC String2 capacity = 10 String3 = AAAABBBCCCC>

Metodi in Java StringBuilder

StringBuilder aggiungi (X x) : questo metodo aggiunge la rappresentazione della stringa dell'argomento di tipo X alla sequenza.

  1. StringBuilder appendCodePoint(int codePoint) : questo metodo aggiunge la rappresentazione di stringa dell'argomento codePoint a questa sequenza.
  2. capacità intera() : questo metodo restituisce la capacità corrente.
  3. char charAt(int indice) : Questo metodo restituisce il valore char in questa sequenza nell'indice specificato.
  4. IntStream chars() : questo metodo restituisce un flusso di int zero che estende i valori char da questa sequenza.
  5. int codePointAt(int indice) : questo metodo restituisce il carattere (punto di codice Unicode) nell'indice specificato.
  6. codice intPuntoPrima(indice int) : questo metodo restituisce il carattere (punto di codice Unicode) prima dell'indice specificato.
  7. int codePointCount(int inizioIndex, int endIndex) : questo metodo restituisce il numero di punti di codice Unicode nell'intervallo di testo specificato di questa sequenza.
  8. IntStream codePoints() : questo metodo restituisce un flusso di valori di punti di codice da questa sequenza.
  9. Elimina StringBuilder(int inizio, int fine) : Questo metodo rimuove i caratteri in una sottostringa di questa sequenza.
  10. StringBuilder deleteCharAt(int indice) : questo metodo rimuove il carattere nella posizione specificata in questa sequenza.
  11. void GuaranteeCapacity(int MinimumCapacity) : Questo metodo garantisce che la capacità sia almeno pari al minimo specificato.
  12. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) : Con questo metodo i caratteri vengono copiati da questa sequenza nell'array di caratteri di destinazione dst.
  13. int indiceDi() : questo metodo restituisce l'indice all'interno di questa stringa della prima occorrenza della sottostringa specificata.
  14. StringBuilder insert(int offset, boolean b) : questo metodo inserisce la rappresentazione di stringa dell'argomento alternativo booleano in questa sequenza. StringBuilder insert() : questo metodo inserisce la rappresentazione di stringa dell'argomento char in questa sequenza.
  15. int ultimoIndiceOf() : Questo metodo restituisce l'indice all'interno di questa stringa dell'ultima occorrenza della sottostringa specificata.
  16. lunghezza intera() : questo metodo restituisce la lunghezza (conteggio dei caratteri).
  17. int offsetByCodePoints(int index, int codePointOffset) : questo metodo restituisce l'indice all'interno di questa sequenza che è offset dall'indice fornito in base ai punti di codice codePointOffset.
  18. StringBuilder sostituisce (int inizio, int fine, String str) : questo metodo sostituisce i caratteri in una sottostringa di questa sequenza con i caratteri nella stringa specificata.
  19. StringBuilder inverso() : Questo metodo fa sì che questa sequenza di caratteri venga sostituita dal contrario della sequenza.
  20. void setCharAt(int indice, char ch) : In questo metodo, il carattere all'indice specificato è impostato su ch.
  21. void setLength(int newLength) : Questo metodo imposta la lunghezza della sequenza di caratteri.
  22. CharSequence subSequence(int inizio, int fine) : questo metodo restituisce una nuova sequenza di caratteri che è una sottosequenza di questa sequenza.
  23. Sottostringa di stringa() : Questo metodo restituisce una nuova String che contiene una sottosequenza di caratteri attualmente contenuti in questa sequenza di caratteri.
  24. Stringa aString() : Questo metodo restituisce una stringa che rappresenta i dati in questa sequenza.
  25. vuoto trimToSize() : questo metodo tenta di ridurre lo spazio di archiviazione utilizzato per la sequenza di caratteri.

Esempio:

Giava

ddl vs dml




// Java code to illustrate> // methods of StringBuilder> import> java.util.*;> import> java.util.concurrent.LinkedBlockingQueue;> public> class> GFG1 {> >public> static> void> main(String[] argv)> >throws> Exception> >{> >// create a StringBuilder object> >// with a String pass as parameter> >StringBuilder str> >=>new> StringBuilder(>'AAAABBBCCCC'>);> >// print string> >System.out.println(>'String = '> >+ str.toString());> >// reverse the string> >StringBuilder reverseStr = str.reverse();> >// print string> >System.out.println(>'Reverse String = '> >+ reverseStr.toString());> >// Append ', '(44) to the String> >str.appendCodePoint(>44>);> >// Print the modified String> >System.out.println(>'Modified StringBuilder = '> >+ str);> >// get capacity> >int> capacity = str.capacity();> >// print the result> >System.out.println(>'StringBuilder = '> + str);> >System.out.println(>'Capacity of StringBuilder = '> >+ capacity);> >}> }>

>

>

ordinamento dell'elenco di array Java
Produzione

String = AAAABBBCCCC Reverse String = CCCCBBBAAAA Modified StringBuilder = CCCCBBBAAAA, StringBuilder = CCCCBBBAAAA, Capacity of StringBuilder = 27>

StringBuilder è un'altra classe in Java utilizzata per manipolare le stringhe. Come StringBuffer, è una classe mutabile che permette di modificare il contenuto della stringa che rappresenta. Tuttavia, StringBuilder non è thread-safe, quindi non deve essere utilizzato in un ambiente multi-thread.

Ecco alcuni esempi di come utilizzare StringBuilder in Java:

Giava

cos'è il prologo




public> class> StringBuilderExample {> >public> static> void> main(String[] args) {> >StringBuilder sb =>new> StringBuilder();> >sb.append(>'Hello'>);> >sb.append(>' '>);> >sb.append(>'world!'>);> >System.out.println(sb.toString());>// Output: 'Hello world!'> > >sb.insert(>6>,>'beautiful '>);> >System.out.println(sb.toString());>// Output: 'Hello beautiful world!'> > >sb.reverse();> >System.out.println(sb.toString());>// Output: '!dlrow lufituaeb olleH'> >}> }>

>

>

Produzione

Hello world! Hello beautiful world! !dlrow lufituaeb olleH>