17.StringBuffer与StringBuilder

(1)StringBuffer的特点
         1) 线程安全的可变字符串
         2)StringBuffer的长度跟内容都可变,String却不能改变
         3)如果使用StringBuffer做字符串拼接,不会浪费太多的资源
(2)StringBuffer的构造方法:
          public StringBuffer()     无参构造(常用)
          public StringBuffer(int capacity)  指定容量的字符串缓冲区对象
          public StirngBuffer(String str)     指定字符串内容的字符串缓冲区对象
(3)StringBuffer4个功能
          1)添加功能:
                    public StringBuffer  append(String str)      将任意数据类型添加到字符串缓冲区里,返回对象是它本身
                    public StirngBuffer  insert(int index, String str)    将任意类型的数据插入到指定的某个索引的字符串缓冲区里,返回对象是它本身

          2)删除功能:
                    public StringBuffer deleteCharAt(int index)     删除指定位置的内容,并返回它本身 
                    public StringBuffer delete(int start,int end)     删除从指定位置开始,到指定位置结束的内容,并返回它本身

          3)替换功能:
                    public StringBuffer replace(int start,int end,String str)  把从start开始到end结束的字符串,用str替换,并返回它本身

          4)反转功能:
                    public StringBuffer reverse()       将字符串缓冲里的数据反转并返回它本身 
     
          5)截取功能:
                    public String substring(int start)      截取从指定位置开始到原字符串最后,返回的是String类型的
                    public String substring(int start,int end)    截取从start开始到end结束的一段字符串,返回的是String类型
(4)String与StringBuffer的相互转换
          1)String ----->StringBuffer
               String s = "sfasdfas";
               StringBuffer sb = new StringBuffer(s);
               

          2)String ----->StringBuffer
               String s = "askldjf;la";
               StringBuffer sb = new StringBuffer();
                sb.append(s);
          3)StringBuffer ----->String
               StringBuffer sb = new StringBuffer("skfj;alsdk");
               String str = new String(sb);
          4)StringBuffer --->String
               StringBuffer sb = new StringBuffer(alksjdfal);
               String str = sb.toString();

2.StringBuilder
     不同步的字符串缓冲区与StringBuffer一样的


     

你可能感兴趣的:(17.StringBuffer与StringBuilder)