lang包中有个StringBuffer,这个StringBuffer和StringBuilder的用法是一样的,只不过StringBuilder多线程不安全,但是理论上速度稍微快点,这里要说的是它和string的区别,在后面替换的时候,StringBuffer是改变的,而string如果不new一个返回的string去接 则不变 例子如下:
package cn.hncu.string2;
public class StringBufferDemo2 {
public static void main(String[] args) {
String ts = new String("java");
stringReplace(ts);
System.out.println(ts);
StringBuffer sb = new StringBuffer("java");
bufferReplace(sb);
System.out.println(sb.toString());
}
private static void bufferReplace(StringBuffer sb) {
sb = sb.append("123");
}
private static void stringReplace(String ts) {
ts = ts.replace('j','i');
}
}
一些常用的方法如下:
package cn.hncu.string2;
public class StringBufferDemo {
public static void main(String[] args) {
//String str ="aa"+"123"+"cc";
//str = "qq";
StringBuffer sb1 = new StringBuffer();
System.out.println("初始容量:"+sb1.capacity());
System.out.println("初始长度:"+sb1.length());
sb1.append("aa1122211221112").append("1dedwe23").append("cc");
System.out.println(sb1.toString());
System.out.println("当前容量:"+sb1.capacity());
System.out.println("当前长度:"+sb1.length());
sb1.insert(1, "###");
System.out.println( sb1.toString() );
}
}