標籤:str stringbu java static 筆記 結果 concat oid 自己
學習筆記:
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):abccbaabccbaSystem.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:cbaabccbas3.append(s3):abccbaabccbas3:abccbaabccbafalsetrues5:cbaabccba123
java中String與StringBuffer拼接的區別