StringBuffer and StringBuilder

 1 package cn.jiu.com;
 2 /*
 3  * Java StringBuffer和StringBuilder类
 4  * 
 5 当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类。
 6 
 7 和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。
 8 
 9 StringBuilder类在Java 5中被提出,
10 
11 它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(线程安全就是多线程访问时,采用了加锁机制,
12 
13 当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。
14 
15 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据)。
16 
17 由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。然而在应用程序要求线程安全的情况下,则必须使用StringBuffer类。
18  * 
19  * 
20  * 
21  * 
22  * 
23  */
24 public class Work02 {
25     public static void main(String[] args) {
26         fun();
27         fun01();
28         fun02();
29         fun03();
30         fun04();
31         fun05();
32     }
33     //append 将指定的字符串追加到此字符序列。 添加到缓冲区!
34     public static    void fun(){
35         StringBuffer b=new StringBuffer("你好");
36             b.append(66);
37             System.out.println(b);
38     }
39     //replace 替换
40     public static    void fun01(){
41         StringBuffer b=new StringBuffer();
42         b.append("你好啊!");
43         b.replace(0, 1, "傻逼");
44 //            b.replace(2, 2, "66");
45         System.out.println(b);
46     }
47     //reverse 反转!
48     public static    void fun02(){
49         StringBuffer b=new StringBuffer();
50             b.append(6699);
51             b.reverse();
52             System.out.println(b);
53     }
54     //toString
55     public static    void fun03(){
56         StringBuffer b=new StringBuffer();
57             b.append("6699");
58             b.toString();
59             System.out.println(b);
60     }
61     //delete 移除此序列的子字符串中的字符 。 取值上!有头无尾!
62     public static    void fun04(){
63         StringBuffer b=new StringBuffer();
64             b.append("6699");
65             b.delete(0, 3);
66             System.out.println(b);
67     }
68     //insert 将 int 参数的字符串表示形式插入此序列中
69     public static    void fun05(){
70         StringBuffer b=new StringBuffer();
71             b.append("6699");
72             b.insert(0, 6);
73             System.out.println(b);
74     }
75     
76 }

猜你喜欢

转载自www.cnblogs.com/ZXF6/p/10571380.html