溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

淺析Java中String與StringBuffer拼接的區(qū)別

發(fā)布時(shí)間:2020-09-25 16:33:05 來源:腳本之家 閱讀:134 作者:Tmb 欄目:編程語言

學(xué)習(xí)筆記:

  1、String拼接會創(chuàng)建一個(gè)新的String對象,存儲拼接后的字符串;

    StringBuffer拼接是直接在本身拼接,會即時(shí)刷新。

  2.String只能拼接String類型的字符串;

    StringBuffer能夠拼接所有的類型的值。

public class Test {
  public static void main(String[] args) {
    String str1="abc";
    String str2="cba";
    //使用Stirng的concat拼接
    String s1=str1.concat(str2);
    String s2=str2.concat(str1);
    System.out.println("使用concat互相拼接:"+s1+":"+s2);
    //使用StringBuffer的append拼接
    StringBuffer sb1=new StringBuffer(str1);
    StringBuffer sb2=new StringBuffer(str2);<br>      
    StringBuffer s3=sb1.append(sb2);  
    StringBuffer s4=sb2.append(sb1);
    System.out.println("使用StringBuffer互相拼接:"+s3+":"+s4);<br>
    System.out.println("s3.append(s3):"+s3.append(s3)); //輸出結(jié)果為:s3.append(s3):abccbaabccba
    System.out.println("s3:"+s3);            //輸出結(jié)果為:s3:abccbaabccba  
    System.out.println(s1.concat(s2)==s1);//false,拼接會重新創(chuàng)建一個(gè)String(String的長度是不可變的)
    System.out.println(s3.append(s1)==s3);//true,StringBuffer是對自己進(jìn)行操作會即時(shí)刷新
    <br>          
          int num=123;
          /*str1.concat(num);---此處報(bào)錯(cuò)*/
          StringBuffer s5=s4.append(num);
          System.out.println("s5:"+s5);
  }
   
}

  輸出結(jié)果是:

使用concat互相拼接1:abccba:cbaabc

使用StringBuffer互相拼接1:abccba:cbaabccba

s3.append(s3):abccbaabccba
s3:abccbaabccba
false
true
s5:cbaabccba123

以上所述是小編給大家介紹的Java中String與StringBuffer拼接的區(qū)別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI