StringBuffer(字符串缓冲区)
生活随笔
收集整理的這篇文章主要介紹了
StringBuffer(字符串缓冲区)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
StringBuffer是一個容器,且長度可變, 可以直接操作多個數(shù)據(jù)類型,數(shù)組只能操作一種 最終結果為字符串 字符串的原理就是通過該類實現(xiàn)的 ----------------------------------------------- 1.添加 兩個主要的方法: StringBuffer append()-->將指定數(shù)據(jù)作為參數(shù)添加到已有數(shù)據(jù)的結尾處 看main函數(shù)中定義了sb,然后定義了sb2 =sb.append(34); 但是,當我打印這兩個數(shù)據(jù)時,它們的值卻是相等的!!!,都是34 為什么呢? 按常理說sb里面應該什么都沒有啊 這個問題用面盆理論來解釋: sb就是面盆,面盆里面加了面,還是面盆啊,加了水,也還是面盆啊... --------------------------------------------------------------- sb.append("abc").append(true).append(34); 方法調用鏈,方法返回的是本類對象,還可以調用這個方法 ------------------------------------------------------------ insert()-->append只能在字符串結尾處添加,而insert可以插入 sb.insert(index,數(shù)據(jù)); -------------------------------------------------------------------- 2.刪除 上面append,insert都是添加;下面說刪除 StringBuffer delete(start,end)-->刪除的內(nèi)容,包含start,不包含end StringBuffer deleteCharAt(index)-->刪除指定位置的字符 -------------------------------------------------------- 初始化StringBuffer,刪除1--3(包含1,不包含3)a0 b1 c2 d3 e4 即輸出ade 用這個方法清空緩沖區(qū) sb.delete( 0, ?sb.length() ?); --------------------------------------------------------- 刪除指定位置上的某個字符 ------------------------------------------------------------ 3.獲取 上面講了增、刪,下面講查(獲取) char charAt(int index) 返回此序列中指定索引處的?char?值。 int indexOf(String str) 返回第一次出現(xiàn)的指定子字符串在該字符串中的索引 int lastIndexOf(String str) 返回最后一次出現(xiàn)的指定子字符串在此字符串中的索引 String substring(int start, int end); 返回一個新的?String,它包含此序列當前所包含的字符子序列。 注:返回的類型是字符串類型的 ----------------------------------------------------------------- 4.修改 修改原來字符串的內(nèi)容 replace(int start, int end, String str)--包含首,不包含尾的原則,str為替換的內(nèi)容 使用給定的字符替換此序列的子字符串中的字符。 ----------------------------------------------------------------- void setCahrAt(int index, char ch)替換某個位置的字符, 注:沒有返回值,替換完就結束了 ------------------------------------------------------------- 5.反轉? StringBuffer reverse() 將abcde倒序打印 ------------------------------------------------------------ 6.getChars(開始,結尾,容器,容器開始存儲的位置) 將緩沖區(qū)的指定數(shù)據(jù),存儲到指定數(shù)組中 看看,將1-4,即b,c,d存儲到char數(shù)組(第二個位置開始存) ----------------------------------------------------------------- StringBuilder JDK 1.5以后出現(xiàn)的,和StringBuffer幾乎一樣 StringBuffer是線程同步的;StringBuilder是線程不同步的 如果你是單線程,那就用StringBuilder,這樣不用判斷鎖,提高效率, 如果是多線程,為了保證安全性,就用StringBuffer 以后開發(fā),建議使用StringBuilder ---------------------------------------------------------------------- java升級的3個原因: 1.提高效率 2.簡化書寫 3.提高安全性
轉載于:https://www.cnblogs.com/aisi-liu/p/4227631.html
總結
以上是生活随笔為你收集整理的StringBuffer(字符串缓冲区)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C/C++变量命名规则,个人习惯总结
- 下一篇: 调用cmd不显示黑框的方法