StringBuffer
概述StringBuffer
StringBuffer是可变字符串,StringBuffer是实现了抽象类AbstractStringBuilder,而AbstractStringBuilder中是用
StringBuffer之默认大小与扩容
实例化时,初始化大小容量为16
如果append的字符串长度超过16,则容量为34 (34=16 * 2 + 2)
要是append的字符串长度超过16,并且大于34,则直接为字符串需要的长度。
StringBuilder同理
StringBuffer常用方法
1. 增:append(xxx)
public class TestStringBuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer();
String s=new String("sffs");
stringBuffer.append(s);
stringBuffer.append("z");
System.out.println(stringBuffer.length());
System.out.println(stringBuffer.toString());
}
}
2. 删:delete(int start,int end)
public class TestStringBuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer();
String s=new String("sffs");
stringBuffer.append(s);
stringBuffer.append("z");
System.out.println(stringBuffer.length());
stringBuffer.delete(0,4);
System.out.println(stringBuffer.length());
}
}
3. 改:setCharAt(int n ,char ch) / replace(int start, int end, String str)
public class TestStringBuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer();
String s = new String("sffs");
stringBuffer.append(s);
stringBuffer.append("z");
System.out.println(stringBuffer.length());
System.out.println(stringBuffer.toString());
stringBuffer.setCharAt(1, '3');
System.out.println(stringBuffer.length());
System.out.println(stringBuffer.toString());
}
}
4. 查:charAt(int n )
public class TestStringBuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer();
String s = new String("sffs");
stringBuffer.append(s);
stringBuffer.append("z");
System.out.println(stringBuffer.length());
System.out.println(stringBuffer.toString());
stringBuffer.setCharAt(1, '3');
System.out.println(stringBuffer.length());
System.out.println(stringBuffer.toString());
System.out.println(stringBuffer.charAt(1));
}
}
5. 插:insert(int offset, xxx)
public class TestStringBuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer();
String s = new String("sffs");
stringBuffer.append(s);
stringBuffer.append("z");
System.out.println(stringBuffer.length());
System.out.println(stringBuffer.toString());
stringBuffer.setCharAt(1, '3');
System.out.println(stringBuffer.length());
System.out.println(stringBuffer.toString());
System.out.println(stringBuffer.charAt(1));
stringBuffer.insert(1,"哈哈哈");
System.out.println(stringBuffer.toString());
}
}