零EVA

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

StringBuffer是字符串缓冲区

是一个容器

特点:

1 而且长度是可变化的

2 可以直接操作多个数据类型

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

 

CURD:C create U update R read D delete

1 存储

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

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

2 删除

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

  StringBuffer deleteCharAt(index):删除指定位置的元素

3 获取

  char chatAt(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);

5 反转

  StringBuffer reverse();

 

JDK 1.5后出现StringBuilder

不同之处

StringBuffer是线程同步的

StringBuilder是线程不同步的

升级三个因素

1 提高效率

2 简化书写

3 提高安全性

 1 class StringBufferDemo
 2 {
 3     public static void main(String[] args)
 4     {
 5         //method_delete();
 6         method_replace();
 7     }
 8     public static void method_replace()
 9     {
10         StringBuffer sb = new StringBuffer("abcde");
11         //sb.replace(1,4,"java");
12         sb.setCharAt(2,'k');
13         sop(sb.toString());
14     }
15     public static void method_add()
16     {
17         StringBuffer sb = new StringBuffer();
18         
19         sb.append("abc").append(true).append(34);
20         /* StringBuffer sb1 = sb.append(34);    
21         sop(sb1.toString()); */
22         sb.insert(1,"qq");
23         sop(sb.toString());
24     }
25     public static void method_delete()
26     {
27         StringBuffer sb = new StringBuffer("abcde");
28         //sb.delete(1,3);
29         //清空缓冲区
30         //sb.delete(0,sb.length());
31         sb.deleteCharAt(2);
32         sop(sb.toString()); 
33     }
34     public static void sop(String str)
35     {
36         System.out.println(str);
37     }
38 }
View Code

 

posted on 2017-06-28 19:12  零EVA  阅读(161)  评论(0编辑  收藏  举报