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