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線程同步,效率低,每次使用時都要判斷鎖