1. 程式人生 > >StringBuffer 的功能之新增和刪除 StringBuilder

StringBuffer 的功能之新增和刪除 StringBuilder

1.StringBuffer 是字串緩衝區,是一個容器。是一個執行緒安全的可變序列
2.功能
CURD
create update read delete
特點:(當資料型別不確定,最後都要變成字串的時候)
1.長度是可以變化的,
2.可以一次操作多個數據型別
3.最終可以通過toString方法變成字串

1.儲存
StringBuffer append():將指定資料作為引數新增到已有資料的結尾處。
StringBuffer insert(index,資料):可以將資料插入到指定的index位置
package myclass;
class StringBufferDemo
{
public static void main(String[] args)
{
add();
}
public static void add()
{
StringBuffer sb = new StringBuffer();

    sb.append("abc").append(true).append(34);
    //StringBuffer sb1 = sb.append(34);

    //插入
    sb.insert(1,"qq");
    sop(sb.toString());
    //sop(sb1.toString());

 }
 public static void sop(String str)
{
      System.out.println(str);
 }

}
2.刪除
StringBuffer delete(start,end):刪除緩衝區中的資料,包含頭,不包含尾。
StringBuffer deleteCharAt(index):刪除指定位置的字元

public static void method_del()
{
StringBuffer sb = new StringBuffer();
sb.delete(1,3);
//清除緩衝區
sb = new StringBuffer();//新開一個緩衝區。
sb.delete(0,sb.length());
//清楚單個字元
sb.delete(2,3);//包含2不包含3
sb.deleteCarAt(2);
}
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)

public static void meth_updata()
{
StringBuffer sb = new StringBuffer(“abcde”);
sb.replace(1,4,“java”);
sb.setCharAt(2,‘k’);
}

5.反轉
StringBuffer reverse();
6.
void getChars(int srcBegin,int scrEnd,char[]dst,int dstBegin)
將緩衝區中的指定資料儲存到指定字元陣列中。

在jdk1.5以後才出現StringBuilder
StringBuffer是執行緒同步
StringBuilder 是執行緒不同步。
StringBuilder和StringBuffer可以互相替換。建議使用StringBuilder

java升級的特點:
提高效率
提高安全性
提高程式碼簡單性