Java的StringBuffer

StringBuffer:字符串缓冲区,线程安全的可变字符序列,效率低

初始容量为16个字符(capacity)

添加:

append():不断添加,都装入缓冲区

public class Demo1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        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:线程安全的,效率低

两者的有方法都一样

猜你喜欢

转载自blog.csdn.net/lan266548_ning/article/details/80628991