StringBuffer:字符串缓冲区,线程安全的可变字符序列,效率低
初始容量为16个字符(capacity)
添加:
append():不断添加,都装入缓冲区
public class Demo1 {
public static void main(String[] args) {
StringBuffer sb=new StringBuffer();
sb.append("a");
sb.append("b");
sb.append(12);
System.out.println(sb);
}
}
insert(int i,String str):向第i地址中插入str
StringBuffer sb=new StringBuffer("javahello")
sb.insert(4, "no")
System.out.println(sb)
删除:
deleteCharAt():删除指定位置的字符
StringBuffer sb=new StringBuffer("javahello")
sb.deleteCharAt(4)
System.out.println(sb)
delete(int start,int end):删除指定位置的字符,从start到end
StringBuffer sb=new StringBuffer("javahello");
sb.delete(4,6);
System.out.println(sb);
替换:
replace(int start,int end,String str):从start到end结束用str代替
StringBuffer sb=new StringBuffer("javahello")
sb.replace(4, 6, "yes")
System.out.println(sb)
字符串反转:
reverse()
StringBuffer sb=new StringBuffer("javahello")
sb.reverse()
System.out.println(sb)
截取:返回的不再是StringBuffer
substring(int start):从start截取到末尾
StringBuffer sb=new StringBuffer("javahello")
String s=sb.substring(4)
System.out.println(s)
substring(int start,int end):从start截取到end结束,左闭右开
StringBuffer sb=new StringBuffer("javahello")
String s=sb.substring(0,4)
System.out.println(s)
StringBuilder:线程不安全的,不执行同步,速度更快,效率高
StringBuffer:线程安全的,效率低
两者的有方法都一样