日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

StringBuffer(字符串缓冲区)

發(fā)布時間:2024/8/24 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。