StringBuffer

 1 package cn.hello;
 2 
 3 /*
 4  * 
 5  * StringBuffer:线程安全的可变字符串
 6  *                 
 7  *        StringBuffer和String的区别:前者长度很内容可变,若使用前者拼接,不会太浪费空间
 8  * 
 9  *         StringBuffer 的构造
10  *                 StringBuffer()
11  *                 StringBuffer(int capacity):  指定容量的字符串缓冲区
12  *                 StringBuffer(String str):  指定内容的字符串缓冲区对象
13  * 
14  *         StringBuffer的方法
15  *             public int capacity:容量(理论值)
16  *             public int length:长度(实际值)
17  * */
18 
19 public class Test01 {
20     public static void main(String[] args) {
21         StringBuffer ss=new StringBuffer();
22         System.out.println(ss.capacity());    //16;
23         System.out.println(ss.length());     //0
24         
25         StringBuffer s2=new StringBuffer(50);
26         System.out.println(s2.capacity());   //16
27         System.out.println(s2.length());        //0
28         
29         StringBuffer s3=new StringBuffer("hello");
30         System.out.println(s3.capacity());
31         System.out.println(s3.length());
32     }
33 }
 1 package cn.hello;
 2 
 3 /*
 4  * StringBuffer的添加功能
 5  *                     public StringBuffer append(String str)  可以把任意类型传入,并返回缓冲区本身
 6  *                     public StringBuffer insert(int offset,String str)
 7  *     
 8  * StringBuffer的删除功能
 9  *                     public StringBuffer deleteCharAt(int index)
10  *                     public StringBuffer delete(int start,int end)
11  * 替换功能
12  *                     public StringBuffer replace(int start, int end, String str)
13  * 反转功能
14  *                     public StringBuffer reverse()
15  * 
16  * */
17 
18 public class Test01 {
19     public static void main(String[] args) {
20         StringBuffer s1 = new StringBuffer();
21         // 添加功能
22         /*
23          * StringBuffer s2=s1.append("hello");
24          * System.out.println(s1.equals(s2));
25          */// 由此可见,追加之后返回的是本身,并没有新开空间
26         /*
27          * s1.append("hello"); s1.append(2); s1.append(2.2); // 一步一步添加数据
28          * s1.append(true); s1.append('c');
29          */
30 
31         // 方式2 链式添加
32 
33         // insert()
34         s1.append("hello");
35         s1.insert(4, "world");
36         System.out.println(s1); // hellworldo
37 
38     }
39 }
 1 package cn.hello;
 2 
 3 /*
 4  * 
 5  *     
 6  * StringBuffer的删除功能
 7  *                     public StringBuffer deleteCharAt(int index)   删除指定位置的字符,并返回本身
 8  *                     public StringBuffer delete(int start,int end)    从指定位置开始到指定结束位置  删除内容,并返回本身
 9  * 
10  * 
11  * */
12 
13 public class Test01 {
14     public static void main(String[] args) {
15         StringBuffer s1 = new StringBuffer();
16         
17         s1.append("hello").append("world").append("java");
18         
19         //删除 e 这个字符
20         s1.deleteCharAt(1);
21         System.out.println(s1);       //hlloworldjava
22         
23         //delete
24         //删除world
25         s1.delete(4, 9);
26         System.out.println(s1);          //hllojava
27         
28         //删除所有数据
29         s1.delete(0,s1.length());
30         System.out.println(s1);
31 
32     }
33 }
 1 package cn.hello;
 2 
 3 /*
 4  * 
 5  *     
 6  * StringBuffer的替换功能
 7  *             public StringBuffer  replace(int start,int end ,String str)
 8  * 
 9  * 
10  * 
11  * */
12 
13 public class Test01 {
14     public static void main(String[] args) {
15         StringBuffer s1 = new StringBuffer();
16         
17         s1.append("hello").append("world");
18         System.out.println(s1);
19         //把world  替换为“节日快乐"
20         s1.replace(5, 10, "节日快乐");
21         System.out.println(s1);
22 
23 
24     }
25 }
 1 package cn.hello;
 2 
 3 /*
 4  * 
 5  *     
 6  *StringBuffer的反转功能
 7  *            public StringBuffer reverse()
 8  * 
 9  * 
10  * 
11  * */
12 
13 public class Test01 {
14     public static void main(String[] args) {
15         StringBuffer s1 = new StringBuffer();
16         
17         s1.append("hello").append("world").append("java");
18         System.out.println(s1);
19         s1.reverse();
20         System.out.println(s1);
21 
22 
23     }
24 }
 1 package cn.hello;
 2 
 3 /*
 4  * 
 5  *     
 6  *StringBuffer的截取功能
 7  *            public String substring(int start)         返回的是字符串
 8  *            public String substring(int start,int end)   返回的是字符串
 9  * 
10  * 
11  * 
12  * */
13 
14 public class Test01 {
15     public static void main(String[] args) {
16         StringBuffer s1 = new StringBuffer();
17         
18         s1.append("hello").append("world").append("java");
19         System.out.println(s1);
20         
21         
22         String s=s1.substring(5);
23         System.out.println(s);
24         System.out.println(s1);
25 
26 
27     }
28 }
 1 package cn.hello;
 2 
 3 /*
 4  * String 和 StringBuffer  的相互转换
 5  *    把String 转换为  StringBuffer 是为了使用StringBuffer的特殊功能
 6  *    
 7  *    
 8  * */
 9 
10 public class Test01 {
11     public static void main(String[] args) {
12         String s="hello";
13         
14         //String ->StringBuffer
15         //方式1
16         StringBuffer s1 = new StringBuffer(s);
17         System.out.println(s1);
18         //方式2
19         StringBuffer s2=new StringBuffer();
20         s2.append(s);
21         System.out.println(s2);
22 
23         
24         //StringBuffer -> String
25         StringBuffer s3=new StringBuffer("tttttt");
26         //方式1
27         String sq=new String(s3);
28         //方式2
29         String sq2=s3.toString();
30         System.out.println(sq);
31         System.out.println(sq2);
32     }
33 }
 1 package cn.hello;
 2 
 3 /*
 4  * 把数组拼接成一个字符串
 5  * */
 6 
 7 public class Test01 {
 8     public static void main(String[] args) {
 9         //定义一个数组
10         int[] arr={44,33,22,11,33};
11         
12         //方式1  用String拼接
13         String s1=arrayToString(arr);
14         System.out.println(s1);
15         //方式2  用StringBuffer拼接
16         String s2=arr(arr);
17         System.out.println(s2);
18     }
19     
20     public static String arr(int[] arr){
21         StringBuffer sw=new StringBuffer();
22         sw.append("[");
23         for(int i=0;i<arr.length;i++){
24             if(i==arr.length-1){
25             sw.append(arr[i]+"]");
26             }else{
27             sw.append(arr[i]+" , ");
28             }
29         }
30         
31         
32         return sw.toString();
33     }
34     
35     public static String arrayToString(int[] arr){
36         String s="";
37         s+="[";
38         for(int i=0;i<arr.length;i++){
39             if(i==arr.length-1){
40                 s+=arr[i]+"]";
41             }else{
42                 s+=arr[i]+" , ";
43             }
44         }
45         return s;
46     }
47 }

 

posted @ 2015-08-28 10:25  chengling  阅读(176)  评论(0编辑  收藏  举报