Java Stringbuilder

Java Stringbuilder
Um objeto String, instanciado da classe Java String, é um objeto que encapsula uma string literal. O problema com o objeto String em Java é que os caracteres literais não podem ser modificados. A classe StringBuffer chega ao resgate. O literal para o StringBuffer é mutável. O StringBuffer também tem a vantagem de ser segura por threads (seguro para uso por vários threads). No entanto, as operações com o StringBuffer podem ser relativamente longas. Portanto, há uma forma mais simples da classe StringBuffer, que é a classe Stringbuilder. StringBuilder não é seguro. A aula está no java.Lang.* pacote e não precisa de importação. Este artigo explica o básico do StringBuilder.

Construção de StringBuilder

Esta aula tem quatro construtores sobrecarregados. Três são explicados aqui.

public stringbuilder ()

Este construtor cria um objeto StringBuilder vazio, como mostrado na seguinte declaração:

StringBuilder st = new StringBuilder ();

Os caracteres podem então ser anexados ao objeto Stringbuilder, ST.

Public StringBuilder (Charsequence Seq)

Este construtor toma uma string literal como um argumento, como mostrado pelo seguinte segmento de código:

StringBuilder st = new StringBuilder ("Este é o dançarino.");
Sistema.fora.println (st);

A saída é:

Este é o dançarino.

public stringbuilder (string str)

Esse método construtor toma um identificador de string como um argumento, como mostrado no seguinte segmento de código:

StringBuilder st = new StringBuilder ("Este é o dançarino.");
StringBuilder st1 = new StringBuilder (ST);
Sistema.fora.println (st1);

A saída é:

Este é o dançarino.

Métodos StringBuilder

Public StringBuilder Append (Char C)

Isso anexa um personagem ao objeto Stringbuilder, que pode estar vazio. O seguinte segmento de código ilustra o seguinte:

StringBuilder st = new StringBuilder ();
st.anexar ('t'); st.anexar ('h'); st.anexar ('i'); st.anexar ('s'); st.acrescentar(");
st.anexar ('i'); st.anexar ('s');
Sistema.fora.println (st);

A saída é:

Isso é

public stringbuilder Append (Charsequence s)

Isso anexa uma sequência de string (String literal). O seguinte segmento de código ilustra o seguinte:

StringBuilder st = new StringBuilder ("This Is");
st.anexar ("o");
Sistema.fora.println (st);

A saída é:

"Isto é o "

public StringBuilder Append (String str)

Isso usa um identificador de string para anexar. O seguinte segmento de código ilustra o seguinte:

String strr = "dançarino";
StringBuilder st = new StringBuilder ("Este é o");
st.anexar (strr);
Sistema.fora.println (st);

A saída é:

Este é o dançarino

Length Int Length ()

Este método retorna o número de caracteres na string, conforme mostrado no seguinte segmento de código:

StringBuilder st = new StringBuilder ("Este é o dançarino.");
int sz = st.comprimento();
Sistema.fora.println (sz);

A saída é:

19

O comprimento é 19, o que significa que existem 19 caracteres.

Public Char Charat (índice int)

Este método retorna uma cópia do char no índice. A contagem de índice começa de 0. O loop for no segmento de código a seguir, retorna todos os caracteres do objeto Stringbuilder:

StringBuilder sb = new StringBuilder ("Este é o dançarino.");
para (int i = 0; ichar ch = sb.charat (i);
Sistema.fora.impressão (ch);

Sistema.fora.println ();

A saída é:

Este é o dançarino.

public void Setcharat (Int Index, CHAR CH)

O personagem em uma posição de índice pode ser alterado. A contagem de índice começa de 0. O segmento de código a seguir usa esse método para alterar, 'i' em "this" para 'u', fazendo "assim":

StringBuilder sb = new StringBuilder ("Este é o dançarino.");
sb.setcharat (2, 'u');
Sistema.fora.println (sb);

A saída é:

Assim é o dançarino.

Public Void SetLength (int newLength)

Este método altera o comprimento da string. Se o comprimento dado for menor que o da corda original, há truncamento. A contagem de NewLength começa de 1. O segmento de código a seguir trunca a sequência para um comprimento de 7:

StringBuilder sb = new StringBuilder ("Este é o dançarino.");
sb.SetLength (7);
Sistema.fora.println (sb);

A saída é:

Isso é

Public Int Indexof (String substr)

A contagem de índice começa de 0. Isso retorna o índice inicial da primeira ocorrência da substring dada como argumento. O código a seguir é uma ilustração:

StringBuilder sb = new StringBuilder ("Este é o dançarino.");
String sst = "is";
int ret = sb.indexOf (SST);
Sistema.fora.println (ret);

A saída é 2, para o "é" em "this".

Public Int Indexof (String Str, Int Fromindex)

A contagem de índice começa de 0. Isso retorna a primeira ocorrência da substring dada como primeiro argumento, começando pelo valor do segundo argumento. O código a seguir ilustra o seguinte:

StringBuilder sb = new StringBuilder ("Este é o dançarino.");
String sst = "is";
int ret = sb.indexOf (SST);
Sistema.fora.println (ret);

A saída é 12.

public stringbuilder DeleteCharat (Int Index)

Isso exclui um personagem particular. No segmento de código a seguir, os caracteres no índice 8, índice 9, índice 10 e índice 11 são excluídos. As cordas antigas e novas são alteradas simultaneamente a cada vez.

StringBuilder sb = new StringBuilder ("Este é o dançarino.");
sb.DeleteCharat (8); sb.DeleteCharat (8); sb.DeleteCharat (8);
Stringbuilder ret = sb.DeleteCharat (8);
Sistema.fora.println (sb); Sistema.fora.println (ret);

A saída é:

Isso é dançarino.
Isso é dançarino.

public stringbuilder delete (int start, int end)

No código anterior, quando o personagem no índice 8 foi excluído, o próximo se tornou o personagem no índice 8. Em vez de excluir um por um, os caracteres do índice 8 ao índice 11 podem ser excluídos em um comando, como mostra o código a seguir:

StringBuilder sb = new StringBuilder ("Este é o dançarino.");
Stringbuilder ret = sb.excluir (8, 12);
Sistema.fora.println (sb); Sistema.fora.println (ret);

A saída é:

Isso é dançarino.
Isso é dançarino.

Observe que o índice final do método (12) não está incluído no intervalo efetivo.

public stringbuilder substituir (int start, int end, string str)

Uma sub-cordão na string original, pode ser substituída por outra string, STR, que pode ser mais longa ou mais curta que a string original. O seguinte segmento de código ilustra o seguinte:

StringBuilder sb = new StringBuilder ("Este é o dançarino.");
Stringbuilder ret = sb.substituir (0, 7, "aqui:");
Sistema.fora.println (sb); Sistema.fora.println (ret);

A saída é:

Aqui: o dançarino.
Aqui: o dançarino.

Novamente, o índice final é um maior que o final real do intervalo.

public stringbuilder insert (int offset, char c)

Isso insere um personagem na corda, aumentando o comprimento por um. O deslocamento é o índice em que o personagem será inserido. A contagem de deslocamento começa de 1 e não 0. À direita do que é inserido, os personagens da string são deslocados em um lugar para a direita. No código a seguir, 's' é inserido entre 'r' e '.':

StringBuilder sb = new StringBuilder ("Este é o dançarino.");
Stringbuilder ret = sb.inserir (18, 's');
Sistema.fora.println (sb);
Sistema.fora.println (ret);

A saída é:

Este é os dançarinos.
Este é os dançarinos.

O método retorna uma nova string. As cordas antigas e novas são modificadas. A frase de saída não é um bom inglês e será abordado abaixo:

public stringbuilder insert (int offset, char [] str)

Lembre -se de que a contagem de deslocamento em Java começa de um, não zero. Com isso, uma sub-cordão pode ser inserida na sequência original, como no código a seguir:

StringBuilder sb = new StringBuilder ("Este é o dançarino.");
Stringbuilder ret = sb.inserir (12, "grande");
Sistema.fora.println (sb); Sistema.fora.println (ret);

A saída é:

Este é o grande dançarino.
Este é o grande dançarino.

As cordas originais e de retorno tiveram a mudança.

public stringbuilder insert (int index, char [] str, int offset, int len)

Uma sub-fita de outra string pode ser inserida na string original, conforme ilustrado no exemplo de código seguinte:

StringBuilder sb = new StringBuilder ("Este é o dançarino.");
StringBuilder ANOTHERSTR = new StringBuilder ("O Big Boss.");
Stringbuilder ret = sb.inserir (12, anotherstr, 4, 8);
Sistema.fora.println (sb); Sistema.fora.println (ret);

A saída é:

Este é o grande dançarino.
Este é o grande dançarino.

A parte da substring retirada da outra string é: len - deslocamento, e.g. 8 - 4 para obter “grande”.

Conclusão

A string literal não pode ser editada com a classe String em java. A classe StringBuilder é uma classe de string cujo literal pode ser editado. A aula está no java.Lang.* pacote e não precisa de importação. Esta classe tem construtores e métodos. Os mais usados ​​foram explicados nas seções anteriores. Esperamos que você tenha achado este artigo útil. Confira outros artigos de dica do Linux para obter mais dicas e tutoriais.