java中String与StringBuffer拼接的区别

学习笔记:

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

  输出结果是:

1
2
3
4
5
6
7
使用concat互相拼接1:abccba:cbaabc
使用StringBuffer互相拼接1:abccba:cbaabccba
s3.append(s3):abccbaabccba
s3:abccbaabccba
false
true
s5:cbaabccba123

  

posted @   flashman126  阅读(4406)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示