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