学习笔记:
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