Java Stringbuilder

Java Stringbuilder
Un oggetto stringa, istanziato dalla classe stringa Java, è un oggetto che incapsula letterale. Il problema con l'oggetto stringa in Java è che i caratteri letterali non possono essere modificati. La classe StringBuffer arriva in soccorso. Il letterale per il buffer String è mutabile. StringBuffer ha anche il vantaggio di essere thread-safe (sicuro per l'uso da più thread). Tuttavia, le operazioni con StringBuffer possono essere relativamente lunghe. Quindi, esiste una forma più semplice della classe StringBuffer, che è la classe StringBuilder. StringBuilder non è thread-safe. La classe è nel Java.Lang.* pacchetto e non ha bisogno di importazione. Questo articolo spiega le basi del costruttore String.

Costruzione di costruttori di string

Questa classe ha quattro costruttori sovraccarichi. Tre sono spiegati qui.

public StringBuilder ()

Questo costruttore crea un oggetto StringBuilder vuoto, come mostrato nella seguente istruzione:

StringBuilder st = new StringBuilder ();

I caratteri possono quindi essere aggiunti all'oggetto StringBuilder, ST.

Public StringBuilder (CharIsequence SEQ)

Questo costruttore prende una stringa letterale come argomento, come mostrato dal seguente segmento di codice:

StringBuilder st = new StringBuilder ("Questo è il ballerino.");
Sistema.fuori.println (st);

L'output è:

Questo è il ballerino.

Public StringBuilder (String STR)

Questo metodo del costruttore prende un identificatore di stringa come argomento, come mostrato nel seguente segmento di codice:

StringBuilder st = new StringBuilder ("Questo è il ballerino.");
StringBuilder ST1 = new StringBuilder (ST);
Sistema.fuori.println (ST1);

L'output è:

Questo è il ballerino.

Metodi StringBuilder

Public StringBuilder Append (Char C)

Questo aggiunge un carattere all'oggetto StringBuilder, che potrebbe essere vuoto. Il seguente segmento di codice illustra questo:

StringBuilder st = new StringBuilder ();
st.append ('t'); st.append ('h'); st.append ('i'); st.append ('s'); st.aggiungere(");
st.append ('i'); st.append ('s');
Sistema.fuori.println (st);

L'output è:

Questo è

Public StringBuilder Append (Charsequence S)

Questo aggiunge una sequenza stringa (stringa letterale). Il seguente segmento di codice illustra questo:

StringBuilder st = new StringBuilder ("This is");
st.append ("the");
Sistema.fuori.println (st);

L'output è:

"Questo è il "

Public StringBuilder Append (String STR)

Questo utilizza un identificatore di stringa per l'avvio. Il seguente segmento di codice illustra questo:

String strr = "ballerino";
StringBuilder st = new StringBuilder ("Questo è il");
st.append (strr);
Sistema.fuori.println (st);

L'output è:

Questo è il ballerino

public int lunghezza ()

Questo metodo restituisce il numero di caratteri nella stringa, come mostrato nel seguente segmento di codice:

StringBuilder st = new StringBuilder ("Questo è il ballerino.");
int sz = st.lunghezza();
Sistema.fuori.println (sz);

L'output è:

19

La lunghezza è 19, nel senso che ci sono 19 personaggi.

Public Char Charat (Index int)

Questo metodo restituisce una copia del char all'indice. Il conteggio dell'indice inizia da 0. Il per loop nel seguente segmento di codice, restituisce tutti i caratteri dell'oggetto StringBuilder:

StringBuilder SB = new StringBuilder ("Questo è il ballerino.");
per (int i = 0; ichar ch = sb.Charat (i);
Sistema.fuori.stampa (ch);

Sistema.fuori.println ();

L'output è:

Questo è il ballerino.

public void setcharat (IND INDICE, CHAR CH)

Il carattere in una posizione indice può essere modificato. Il conteggio dell'indice inizia da 0. Il seguente segmento di codice utilizza questo metodo per cambiare, "I" in "questo" a "u", rendendo "così":

StringBuilder SB = new StringBuilder ("Questo è il ballerino.");
sb.setcharat (2, 'u');
Sistema.fuori.println (SB);

L'output è:

Così è il ballerino.

public void setLength (int newLength)

Questo metodo modifica la lunghezza della stringa. Se la lunghezza data è inferiore a quella della stringa originale, c'è troncamento. Il conteggio di newLength inizia da 1. Il seguente segmento di codice tronca la stringa a una lunghezza di 7:

StringBuilder SB = new StringBuilder ("Questo è il ballerino.");
sb.setLength (7);
Sistema.fuori.println (SB);

L'output è:

Questo è

public int indexof (string substr)

Il conteggio dell'indice inizia da 0. Ciò restituisce l'indice di avvio della prima occorrenza della sottostringa data come argomento. Il seguente codice è un'illustrazione:

StringBuilder SB = new StringBuilder ("Questo è il ballerino.");
String sst = "is";
int ret = sb.INDICEF (SST);
Sistema.fuori.println (ret);

L'output è 2, per "è" in "questo".

public int indexOf (String Str, int fromindex)

Il conteggio dell'indice inizia da 0. Ciò restituisce la prima occorrenza della sottostringa data come prima argomentazione, a partire dal valore del secondo argomento. Il seguente codice illustra questo:

StringBuilder SB = new StringBuilder ("Questo è il ballerino.");
String sst = "is";
int ret = sb.INDICEF (SST);
Sistema.fuori.println (ret);

L'output è 12.

Public StringBuilder deleteCharat (IND INDICE)

Questo elimina un personaggio particolare. Nel seguente segmento di codice, i caratteri all'indice 8, indice 9, indice 10 e indice 11 vengono eliminati. Sia le corde vecchie che quelle nuove vengono cambiate contemporaneamente ogni volta.

StringBuilder SB = new StringBuilder ("Questo è il ballerino.");
sb.deletecharat (8); sb.deletecharat (8); sb.deletecharat (8);
StringBuilder ret = SB.deletecharat (8);
Sistema.fuori.println (SB); Sistema.fuori.println (ret);

L'output è:

Questo è ballerino.
Questo è ballerino.

Public StringBuilder Elete (int start, int end)

Nel codice precedente, quando il carattere di Index 8 è stato eliminato, quello successivo è diventato il personaggio di Index 8. Invece di eliminare uno per uno, i caratteri dall'indice 8 all'indice 11 possono essere eliminati in un comando, come mostra il seguente codice:

StringBuilder SB = new StringBuilder ("Questo è il ballerino.");
StringBuilder ret = SB.Elimina (8, 12);
Sistema.fuori.println (SB); Sistema.fuori.println (ret);

L'output è:

Questo è ballerino.
Questo è ballerino.

Si noti che l'indice finale del metodo (12) non è incluso nell'intervallo effettivo.

Public StringBuilder Sostitud (int start, int end, string STR)

Una sotto-corda nella stringa originale, può essere sostituita da un'altra stringa, STR, che può essere più lunga o più corta della stringa originale. Il seguente segmento di codice illustra questo:

StringBuilder SB = new StringBuilder ("Questo è il ballerino.");
StringBuilder ret = SB.sostituire (0, 7, "qui:");
Sistema.fuori.println (SB); Sistema.fuori.println (ret);

L'output è:

Qui: il ballerino.
Qui: il ballerino.

Ancora una volta, l'indice finale è uno più alto dell'estremità effettiva dell'intervallo.

Public StringBuilder Insert (Int Offset, Char C)

Questo inserisce un carattere nella stringa, aumentando la lunghezza di uno. Offset è l'indice in cui verrà inserito il carattere. Il conteggio dell'offset inizia da 1 e non 0. A destra di ciò che viene inserito, i caratteri nella corda vengono spostati a destra. Nel seguente codice, "S" viene inserito tra "R" e ".':

StringBuilder SB = new StringBuilder ("Questo è il ballerino.");
StringBuilder ret = SB.Insert (18, 's');
Sistema.fuori.println (SB);
Sistema.fuori.println (ret);

L'output è:

Questo è i ballerini.
Questo è i ballerini.

Il metodo restituisce una nuova stringa. Sia le stringhe vecchie che quelle nuove vengono modificate. La frase di output non è un buon inglese e sarà affrontata di seguito:

Public StringBuilder Insert (Int Offset, Char [] STR)

Ricorda che il conteggio degli offset in Java, inizia da uno, non zero. Con ciò, una sotto-corda può essere inserita nella stringa originale, come nel seguente codice:

StringBuilder SB = new StringBuilder ("Questo è il ballerino.");
StringBuilder ret = SB.inserire (12, "big");
Sistema.fuori.println (SB); Sistema.fuori.println (ret);

L'output è:

Questo è il grande ballerino.
Questo è il grande ballerino.

Sia l'originale che le corde di ritorno hanno avuto il cambiamento.

Public StringBuilder Insert (Int Index, Char [] Str, Int Offset, Int Len)

Una sotto-stringa da un'altra stringa può essere inserita nella stringa originale, come illustrato nel seguente campione di codice:

StringBuilder SB = new StringBuilder ("Questo è il ballerino.");
StringBuilder antherstr = new StringBuilder ("The Big Boss.");
StringBuilder ret = SB.inserire (12, Anotherstr, 4, 8);
Sistema.fuori.println (SB); Sistema.fuori.println (ret);

L'output è:

Questo è il grande ballerino.
Questo è il grande ballerino.

La porzione di sottostringa presa dall'altra stringa è: Len - Offset, E.G. 8 - 4 per diventare "grande".

Conclusione

La stringa letterale non può essere modificata con la classe di stringhe in Java. La classe StringBuilder è una classe di stringa il cui letterale può essere modificata. La classe è nel Java.Lang.* pacchetto e non ha bisogno di importazione. Questa classe ha costruttori e metodi. Quelli più comunemente usati sono stati spiegati nelle sezioni precedenti. Speriamo che tu abbia trovato questo articolo utile. Dai un'occhiata ad altri articoli di suggerimento Linux per ulteriori suggerimenti e tutorial.