學習筆記:
1、String拼接會創建一個新的String對象,存儲拼接后的字符串;
StringBuffer拼接是直接在本身拼接,會即時刷新。
2.String只能拼接String類型的字符串;
StringBuffer能夠拼接所有的類型的值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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)); //輸出結果為: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是對自己進行操作會即時刷新 <br> int num= 123 ; /*str1.concat(num);---此處報錯*/ StringBuffer s5=s4.append(num); System.out.println( "s5:" +s5); } } |
輸出結果是:
使用concat互相拼接1:abccba:cbaabc
使用StringBuffer互相拼接1:abccba:cbaabccba
1
2
3
4
5
|
s3.append(s3):abccbaabccba s3:abccbaabccba false true s5:cbaabccba123 |
以上所述是小編給大家介紹的Java中String與StringBuffer拼接的區別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:http://www.cnblogs.com/tmftmb/p/7092038.html