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 }