Classes Java StringBuffer e StringBuilder
Ao modificar strings, você precisa usar as classes StringBuffer e StringBuilder.
Diferente da classe String, os objetos das classes StringBuffer e StringBuilder podem ser modificados várias vezes sem gerar novos objetos não utilizados.
A classe StringBuilder foi proposta em Java 5. A maior diferença entre ela e StringBuffer é que os métodos de StringBuilder não são thread-safe (não podem ser acessados de forma síncrona).
Como StringBuilder tem uma vantagem de velocidade sobre StringBuffer, é recomendável usar a classe StringBuilder na maioria dos casos. No entanto, se o aplicativo requer segurança de thread, a classe StringBuffer deve ser usada.
O método StringBuffer
public StringBuffer append (String s)
anexa a string especificada a esta seqüência de caracteres.
public class append {
public static void main(String []args){
StringBuffer sb1 = new StringBuffer("gao ze wei zhen shuai.");
StringBuffer sb2 = new StringBuffer("gao ze wei zhen shuai.");
StringBuffer sb3 = new StringBuffer("gaozewei+");
String a = "gao ze wei";
String b = "zhen shuai.";
String c = "";
String d = "gzwgehsrtsh";
sb1.append(sb2);
c = a + b;
sb3.append(d, 3, 9);
System.out.println(sb1);
System.out.println(c);
System.out.println(sb3);
}
}
public StringBuffer reverse ()
substitui essa sequência de caracteres por sua forma reversa.
public delete (int start, int end)
remove os caracteres na substring desta sequência.
public class Test {
public static void main(String args[]) {
StringBuffer sb = new StringBuffer("Welcom to yiibai.com");
sb.delete(3, 7);
System.out.println(sb);
}
}
Java
执行上面示例代码,得到以下结果:
Welto yiibai.com
public insert (int offset, int i)
insere a representação de string do parâmetro int nesta sequência.
public class StringBufferDemo {
public static void main(String[] args) {
StringBuffer buff = new StringBuffer("zyxwvut");
System.out.println("buffer = " + buff);
buff.insert(2, 989);
System.out.print("After insertion = ");
System.out.println(buff.toString());
}
}
/* 让我们来编译和运行上面的程序,这将产生以下结果:
buffer = zyxwvut
After insertion = zy989xwvut
replace (int start, int end, String str)
substitui os caracteres na substring dessa sequência pelos caracteres na String fornecida.
String str3="abcd";
String str4=str3.replace("ab","ff");
System.out.println(str4);
输出结果为:
ffcd
StringBuffer str1=new StringBuffer("abcde");
StringBuffer str2=str1.replace(0,1,"ff");
System.out.println(str2);
输出结果为:
ffbcde
Os métodos na lista a seguir são semelhantes aos da classe String:
1 int capacity ()
retorna a capacidade atual.
2 char charAt (int index)
retorna o valor char no índice especificado nesta sequência.
3 void verifyCapacity (int minimumCapacity)
garante que a capacidade seja pelo menos igual ao valor mínimo especificado.
4 void getChars (int srcBegin, int srcEnd, char [] dst, int dstBegin)
copia os caracteres dessa sequência para a matriz de caracteres de destino dst.
5 int indexOf (String str)
retorna o índice da primeira ocorrência da substring especificada na string.
6 int indexOf (String str, int fromIndex)
começa no índice especificado e retorna o índice da primeira ocorrência da substring especificada na string.
7 int lastIndexOf (String str)
retorna o índice da substring especificada que aparece na extremidade direita desta string.
8 int lastIndexOf (String str, int fromIndex)
retorna a posição da última ocorrência da substring no objeto String.
9 int length ()
retorna o comprimento (número de caracteres).
10 void setCharAt (int index, char ch)
Define o caractere no índice fornecido para ch.
11 void setLength (int newLength)
define o comprimento da sequência de caracteres.
12 CharSequence subSequence (int start, int end)
retorna uma nova seqüência de caracteres que é uma subsequência dessa seqüência.
13 String substring (int start)
retorna uma nova String que contém a subsequência de caracteres atualmente contida nesta seqüência de caracteres.
14 String substring (int start, int end)
retorna uma nova String, que contém a subsequência de caracteres atualmente contida nesta seqüência.
15 String toString ()
retorna a representação de string dos dados nesta sequência.