java中String與StringBuffer拼接的區別


學習筆記:

  1、String拼接會創建一個新的String對象,存儲拼接后的字符串;

    StringBuffer拼接是直接在本身拼接,會即時刷新。

  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);
StringBuffer s3=sb1.append(sb2); StringBuffer s4=sb2.append(sb1); System.out.println("使用StringBuffer互相拼接:"+s3+":"+s4);
System.out.println("s3.append(s3):"+s3.append(s3)); //輸出結果為:s3.append(s3):abccbaabccba System.out.println("s3:"+s3);         //輸出結果為:s3:abccbaabccba   System.out.println(s1.concat(s2)==s1);//false,拼接會重新創建一個String(String的長度是不可變的) System.out.println(s3.append(s1)==s3);//true,StringBuffer是對自己進行操作會即時刷新
          

          int num=123;
          /*str1.concat(num);---此處報錯*/
          StringBuffer s5=s4.append(num);
          System.out.println("s5:"+s5);

	}
	
}

  輸出結果是:

使用concat互相拼接1:abccba:cbaabc
使用StringBuffer互相拼接1:abccba:cbaabccba
s3.append(s3):abccbaabccba
s3:abccbaabccba
false
true
s5:cbaabccba123

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM