Comum classe classe java 04_StringBuffer

Visão geral da classe 1.StringBuffer

Corda e StringBuf pode ser usado para armazenar e manipular cadeias, isto é, uma pluralidade de dados, contendo a cadeia de caracteres. classe String representa seqüência imutável de caracteres Unicode , uma constante string. String String Uma vez inicializado, o conteúdo de que já não pode ser alterado a (já coberto de visão classe String princípio). operações String String sobre o seu funcionamento é na verdade uma cópia (cópia original), a string original não mudou. Por exemplo:

String str = "hello"; // 创建了一个字符串
// 实际上原来的"hello"字符串对象已经丢弃了,现在又产生了一个字符串"hello世界"
str = str + "世界"; 

Se essas mudanças cordas conteúdo várias vezes, vai levar a um grande número de cópias restantes objeto string na memória, reduzindo assim a eficiência do programa.

classe StringBuffer é uma subclasse da classe abstrata AbstractStringBuilder, classe StringBuffer variável representa a sequência de caracteres Unicode , uma variável de cadeia. Nós aberto fonte classe AbstractStringBuilder:
Aqui Insert Picture Descrição
Como pode ser visto a partir da fonte, o AbstractStringBuilder interna também um conjunto de caracteres, mas a matriz de caracteres não é modificada pela final, isto significa que é possível modificar a qualquer momento, de modo que StringBuf também conhecido como "sequência variável de caracteres". . Uma vez que a cadeia StringBuf classe original em si está a funcionar, a cadeia é gerada cópias de réplicas sem operação de modificação, de alta eficiência.

construtor da classe 2.StringBuffer

StringBuffe () Uma cadeia de caracteres construídos sem um tampão, uma capacidade inicial de 16 caracteres.
StringBuf (SEQ CharSequence) A estrutura que contém a mesma série de caracteres tampão CharSequence especificado.
StringBuf (capacidade int) memória intermédia de cadeia e capacidade inicial especificado configurados sem um personagem.
StringBuf (String str) Um tampão configurada para inicializar o conteúdo da cadeia cadeia especificada.

[Exemplo] método construtor classe StringBuf

// 1.实例化一个初始容量为16个字符的可变字符串
StringBuffer sb1 = new StringBuffer();
// 2.实例化一个指定字符容量的可变字符串
StringBuffer sb2 = new StringBuffer(20);
// 3.实例化一个指定字符串内容的可变字符串
StringBuffer sb3 = new StringBuffer("hello world");

3.StringBuffer classe Um método comum

3.1 método Add

de acréscimo (tipo de dados) método , o conteúdo especificado apenso à variável de cadeia, semelhante ao da cadeia de ligação. Depois de chamar esse método, o conteúdo variável de cadeia também muda.

[Exemplo] método de acréscimo

// 创建一个可变字符容器,用来存放数据
StringBuilder sb = new StringBuilder("hello");
// 字符串添加
sb.append("123");
System.out.println(sb); // 输出:"hello123"
sb.append(false);
System.out.println(sb); // 输出:"hello123false"
sb.append(123);
System.out.println(sb); // 输出:"hello123false123"

insert(int offset, Type data)O método do conteúdo em uma variável de cadeia no índice especificado. Note-se que o índice é o intervalo entre (0) de comprimento, se afastar do âmbito StringIndexOutOfBoundsException excepção jogado. Depois de chamar esse método, o conteúdo variável de cadeia também muda.

[Exemplo] utilizando o método de inserção

// 创建一个可变字符容器,用来存放数据
StringBuilder sb = new StringBuilder("hello world");
// 字符串插入
ssb.insert(2, "AAA");
System.out.println(sb); // 输出:"heAAAllo world"
sb.insert(7, 123);
System.out.println(sb); // 输出:"heAAAll123o world"
sb.insert(12, true);
System.out.println(sb); // 输出:"heAAAll123o trueworld"

3.2 método Eliminar

Eliminar o ( int início , int Fim **) ** método , remover o período desde o início até iniciar uma sequência de caracteres até ao final de 1. Note-se que o intervalo é entre o início () 0 para comprimento, e a fim de ser maior do que ou igual arranque, ou exceção é lançada StringIndexOutOfBoundsException. Depois de chamar esse método, o conteúdo variável de cadeia também muda.

[Exemplo] método de exclusão

// 创建一个可变字符容器,用来存放数据
StringBuilder sb = new StringBuilder("hello world");
// 字符串删除
sb.delete(2, 5); 
System.out.println(sb); // 输出:"he world"

deleteCharAt(int index)Método que remove a variável de uma única cadeia de caracteres especificada localização. Note-se que o índice varia entre 0 e comprimento () - entre 1, StringIndexOutOfBoundsException exceção é lançada para fora de alcance. Depois de chamar esse método, o conteúdo variável de cadeia também muda.

[DeleteCharAt] (MK: @MSITStore: C: \ Users \ Administrador \ Desktop \ jdk api 1.8_google.CHM :: / java / lang / StringBuffer.html # deleteCharAt-INT) [Exemplo] Método

// 创建一个可变字符容器,用来存放数据
StringBuilder sb = new StringBuilder("hello world");
// 字符串删除
sb.deleteCharAt(2);
System.out.println(sb); // 输出:"helo world"

método 3,3 Find

Métodos e funções para encontrar métodos e a classe String classe StringBuffer exatamente o mesmo, aqui não é uma visão detalhada.

charAt (int index) Este valor de char sequência de retornos no índice especificado.
indexOf (String str) Retorna o índice substring dentro da primeira ocorrência da cadeia.
indexOf (Stringstr, int fromIndex) Retorna a primeira ocorrência do índice especificado da subsequência, começando com o índice especificado.
lastIndexOf (String str) Retorna o índice dentro de uma cadeia especificada substring ocorrência mais à direita.
lastIndexO (String str, fromIndex int) Retorna o índice substring da última ocorrência da cadeia, começando com o índice especificado.

método 3,4 modificação

replace(int start, int end, String str)O método, substituindo os caracteres do início ao fim-1 começa com uma string str. Note-se que o intervalo é entre o início () 0 para comprimento, e a fim de ser maior do que ou igual arranque, ou exceção é lançada StringIndexOutOfBoundsException. Depois de chamar esse método, o conteúdo variável de cadeia também muda.

[Exemplo] método substituir

// 创建一个可变字符容器,用来存放数据
StringBuilder sb = new StringBuilder("hello world");
// 字符串替换
sb.replace(5, 6, "我替换了空格");
System.out.println(sb); // 输出:"hello我替换了空格world"

setCharAt(int index, char ch)Método, a posição de índice da seqüência de caracteres de substituição especificada variável. Note-se que o índice varia entre 0 e comprimento () - entre 1, StringIndexOutOfBoundsException exceção é lançada para fora de alcance. Depois de chamar esse método, o conteúdo variável de cadeia também muda.

[Exemplo] método setCharAt

// 创建一个可变字符容器,用来存放数据
StringBuilder sb = new StringBuilder("hello-world");
// 字符串替换
sb.setCharAt(5, '_');
System.out.println(sb); // 输出:"hello_world"

3,5 método reverso

método (), uma sequência inversa de caracteres reversa. Depois de chamar esse método, o conteúdo variável de cadeia também muda.

[Exemplo] método reverso

// 创建一个可变字符容器,用来存放数据
StringBuilder sb = new StringBuilder("hello world");
// 将字符序列逆序,可变字符串中的内容随之也发生改变
sb.reverse();
System.out.println(sb); // 输出:"dlrow olleh"

método 3,6 SetLength

o SetLength ( int o newlength) método para definir o comprimento da sequência de caracteres. valores Nota newlength deve ser maior ou igual a 0, caso contrário, lançar uma IndexOutOfBoundsException.

[Exemplo] método SetLength

// 创建一个可变字符容器,用来存放数据
StringBuilder sb = new StringBuilder("hello-world");
// 设置字符串长度
sb.setLength(3);
// 输出:内容:"hel" length:3
System.out.println("内容:" + sb + " length:" + sb.length());

3.7 Outros métodos comuns

Outros métodos comuns StringBuffer classes, métodos e funções desses métodos e classes inteiramente consistentes.

comprimento() Retorna o comprimento (número de caracteres).
subsequência (int start) Retorna uma nova String, que contém uma subsequência desta sequência de caracteres atualmente contida no personagem.
subsequência (int início, final int) Retorna uma nova String, que contém uma subsequência desta sequência de caracteres atualmente contido.

ps: Para obter a última documentação livre e vídeos instrutivos, por favor, adicione grupo QQ (627407545) receber.

Publicado 92 artigos originais · ganhou elogios 0 · Vistas 2597

Acho que você gosta

Origin blog.csdn.net/zhoujunfeng121/article/details/104784180
Recomendado
Clasificación