17.StringBuffer和StringBuilder

1 StringBuffer

字符串緩衝區,特點:

長度可變化

可以操作多個數據類型

特通過toString變成字符串

1.1  存儲:append() 將指定數據作爲參數添加到已有數據的結尾處

StringBuffer sb=new StringBuffer();

sb.append(43);

insert(offset,boolean/char/char [ ]) 在指定索引位置插入數據

insert(1,"qq");

1.2刪除:delete(start,end) 刪除包含start,不包含end的子序列

deleteCharAt(index),刪除指定位置字符


sb.delete(0,sb.length());//清空緩衝區


1.3獲取(與String差不多):

char charAt(index);

int indexOf(String str);

int lastIndexOf(String str);

int llength();

String subString(start ,end);//返回的是一個字符串

1.4修改:

StringBuffer replace(int start,int end, str);//不包含end

 使用給定 String 中的字符替換此序列的子字符串中的字符。

void setCharAt(index,ch);修改index處的字符

1.5反轉:

StringBuffer reverse();

1.6將緩衝區指定數據存儲到指定字符數組中:

void getChars(int srcBegin,int srcEnd,char [] dst, int dstBegin);


StringBuffer sb=new StringBuffer("abcdef");

char [] chs=enw char[4];

sb.getChars(1,4,chs,1);

for(itn x=0;x<chs.length;x++){

System.out.println(chs[x]);

}

\\output: chs[0]=   ;

      chs[1]=b;

      chs[2]=c;

      chs[3]=d;


StringBuilder:用法與StringBuffer相同,這裏主要講兩者的區別:

1.StringBuilder線程不同步(建議使用)

StringBuffer線程同步,效率低,每次使用時都要判斷鎖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章