java String,StringBuffer,StringBuilder區(qū)別

String

String 值不可變,每次對String操作會生成新的String對象,浪費內(nèi)存空間。

StringBuffer

StringBuffer在對對象進行字符操作時,直接在原有對象上進行修改,不會生成新的對象,可提高效率,節(jié)約內(nèi)存空間。
StringBuffer相關(guān)常用方法小結(jié):
1.append()
在字符串末尾追加內(nèi)容

StringBuffer sb=new StringBuffer("Hello");
System.out.println(sb);
sb.append(" world!");
System.out.println(sb);

結(jié)果顯示:
Hello
Hello world!
2.deleteCharAt()
刪除指定位置的字符

StringBuffer sb=new StringBuffer("abcdef");
System.out.println(sb);
sb.deleteCharAt(2);      //2為字符下標
System.out.println(sb);

結(jié)果顯示:
abcdef
abdef
3.delete()
此方法一次性刪除多個字符

StringBuffer sb=new StringBuffer("abcdef");
System.out.println(sb);
sb.delete(2,5);      //2為起始位置,5為終止位置
System.out.println(sb);

結(jié)果顯示:
abcdef
abf
**4.insert() **
在指定位置插入字符串

StringBuffer sb=new StringBuffer("abcdef");
System.out.println(sb);
sb.insert(1,"123");       //在1位置開始插入
System.out.println(sb);

結(jié)果顯示:
abcdef
a123bcdef
5.setCharAt() 方法
修改指定位置的字符

StringBuffer sb=new StringBuffer("abcdef");
System.out.println(sb);
sb.setCharAt(1,'5');   //將位置1的字符b替換為5
System.out.println(sb);

結(jié)果顯示:
abcdef
a5cdef

StringBuilder

StringBuilder類和StringBuffer類功能基本相似,方法也差不多,主要區(qū)別在于StringBuffer類的方法是多線程安全的,而StringBuilder不是線程安全的,相比而言,StringBuilder類會略微快一點。
StringBuffer:線程安全
StringBuilder:線程不安全

使用環(huán)境

  • 操作少量的數(shù)據(jù)使用 String;
  • 單線程操作大量數(shù)據(jù)使用 StringBuilder;
  • 多線程操作大量數(shù)據(jù)使用 StringBuffer。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,627評論 18 399
  • 1.String 字符串常量。 這一段創(chuàng)建了兩個對象,分別為abcd的常量和abcdl的常量。第一個常量對象被jv...
    KaelQ閱讀 493評論 0 2
  • java筆記第一天 == 和 equals ==比較的比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量...
    jmychou閱讀 1,644評論 0 3
  • 大家好:我叫歐陽金焱,今天我講一個“知己知彼”的成語故事。 北魏大將軍侯淵,率領(lǐng)七百騎兵去攻打有幾萬兵...
    a3177b5f046a閱讀 292評論 0 1
  • 俗話說得好,你不是風兒我也不是沙,再纏綿也到不了天涯,放下那些不能幫助你前行的過去,現(xiàn)實是什么呢?現(xiàn)實就...
    百里長文閱讀 823評論 1 4

友情鏈接更多精彩內(nèi)容