StringBuafer,StringBuilder总结

 

StringBuffer是字符串缓冲区。

是一个容器。

          特点:

                1,长度是可变化的。

                2,可以字节操作多个数据类型。

                3,最终会通过toString方法变成字符串。

 

C create U update R read D delete

                1,存储。  

                          StringBuffer append():将指定数据作为参数添加到已有数据结尾处。

                          StringBuffer insert(index,数据):可以将数据插入到指定index位置。

 1 package com.itheima.day13;
 2 
 3 public class StringBuilderDemo {
 4 
 5     public static void sop( String str){
 6         System.out.println(str);
 7     }
 8     public static void Method_append(){
 9         StringBuilder sb=new StringBuilder();
10         sop(sb.append("jjjjj").toString());
11         sop(sb.insert(1, "bbbb").toString());
12     }
13     public static void main(String[] args) {
14         Method_append();
15     }
16 
17 }

 

               2,删除。

                          StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end。

                          StringBuffer deleteCharAt(index):删除指定位置的字符。  

 1 package com.itheima.day13;
 2 
 3 public class StringBuilderDelete {
 4 
 5     
 6     public static void sop( String str){
 7         System.out.println(str);
 8     }
 9     public static void Method_delete(){
10         StringBuilder sb=new StringBuilder();
11         sb.append("abcd").append("efjklm").append("java");
12         sop(sb.delete(1, 3).toString());
13         sop(sb.deleteCharAt(5).toString());
14     }
15     public static void main(String[] args) {
16         Method_delete();
17 
18     }
19 
20 }

 

               3,获取。

                         char charAt(int index)  

                         int indexOf(String str)

                         int lastIndexOf(String str)

                         int length()  

                        String substring(int start, int end)  

                4,修改。  

                       StringBuffer replace(start,end,string);

                       void setCharAt(int index, char ch) ;

 1 package com.itheima.day13;
 2 
 3 public class StringBuilderReplace {
 4 
 5     
 6     public static void sop( String str){
 7         System.out.println(str);
 8     }
 9     public static void Method_replace(){
10         StringBuilder str=new StringBuilder();
11         str.append("javaDemo");
12         sop(str.replace(1, 5,"zxdjava").toString());
13         str.setCharAt(0, 'q');
14         sop(str.toString());
15     }
16     public static void main(String[] args) {
17         Method_replace();
18 
19     }
20 
21 }

 

 

              5,反转。  

                      StringBuffer reverse();  

package com.itheima.day13;

public class StringBuilderReplace {

    
    public static void sop( String str){
        System.out.println(str);
    }
    public static void Method_reverse(){
        StringBuilder str=new StringBuilder();
        str.append("javaDemo");
        str.reverse();
        sop(str.toString());
    }
    public static void main(String[] args) {
        Method_reverse();

    }

}

 

              6,  将缓冲区中指定数据存储到指定字符数组中。

                     void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

  JDK1.5 版本之后出现了StringBuilder.

                   StringBuffer是线程同步。

                   StringBuilder是线程不同步。

以后开发,建议使用StringBuilder

              升级三个因素: 1,提高效率。 2,简化书写。 3,提高安全性。

posted @ 2012-10-16 13:46  张学东  阅读(169)  评论(0编辑  收藏  举报