欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-04 15:06:28
学习笔记:   1、string拼接会创建一个新的string对象,存储拼接后的字符串;     stringbuffer拼接是直接在本身拼接,会即时刷新。   2....

学习笔记:

  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);<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

s3.append(s3):abccbaabccba
s3:abccbaabccba
false
true
s5:cbaabccba123

以上所述是小编给大家介绍的java中string与stringbuffer拼接的区别,希望对大家有所帮助