服务器之家

服务器之家 > 正文

浅析Java中String与StringBuffer拼接的区别

时间:2020-11-25 10:57     来源/作者:Tmb

学习笔记:

  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

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国 2021-05-08
返回顶部