N2.String,StringBuffer,StringBuilder

String

創(chuàng)建的String類字符串其長度是固定的,雖然使用“+”可以達到附加新字符或字符串的目的,但會產生一個新的String實例,會在內存中創(chuàng)建新的字符串對象。

StringBuffer、StringBuilder

兩個類都是可變的字符序列的類,大大提高了頻繁增加字符串的效率。StringBuffer支持并發(fā)操作,線性安全;StringBuilder不支持并發(fā)操作,非線性安全,但在單線程中的性能比StringBuffer高。

常用方法

修改指定字符

public void setCharAt(int index,char ch) ? ? 將給定索引處的字符修改為ch;

插入字符串

insert(int offset,String str) ? ? 將字符串插入此字符序列中

字符串反序

reverse() ? ? 將字符串反序輸出

刪除子字符串

delete(int start,int end) ? 移除此序列的子字符串中的字符。注:左閉右開

追加字符串

append()

三者之間的轉換

String<-->StringBuffer/StringBuilder: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?String str=“String”;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?StringBuffer/StringBuilder sb=new StringBuffer/StringBuilder(str);

? ? str=sb.toString();

StringBuffer<-->StringBuilder

? ?StringBuffer sbf=new StringBuffer(sbr.toString()); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?StringBuilder sbr=new StringBuilder(sbf.toString()); ? ?

適用場景

(1)操作少、數據少,用String。

(2)單線程、操作多、數據多,用StringBuilder。

(3)多線程、操作多、數據多,用StringBuffer。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Tip:筆者馬上畢業(yè)了,準備開始 Java 的進階學習計劃。于是打算先從 String 類的源碼分析入手,作為后面...
    石先閱讀 12,107評論 16 58
  • final關鍵字(最終) final修飾的類無法被繼承. final修飾的方法無法被覆蓋. final修飾的局部變...
    yangliangliang閱讀 728評論 0 0
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,638評論 18 399
  • [TOC] StringBuffer類 StringBuffer類概述及其構造方法 StringBuffer類概述...
    lutianfei閱讀 532評論 0 1
  • 我愛秋天 我愛秋天的天 我愛秋天的天的高 我愛秋天的天的遠 我愛秋天的天的凈 我愛秋天的天的藍 那種藍象海水 藍得...
    村夫2017閱讀 274評論 0 1

友情鏈接更多精彩內容