浅谈String/StringBuffer/StringBuilder字符串的拼接

本文详细介绍了Java中三种常见的字符串拼接方式:String、StringBuffer及StringBuilder,并对比了它们的特点与适用场景。String类型使用concat方法进行拼接时不会改变原字符串;StringBuffer与StringBuilder则会在使用append或insert方法后直接修改原有实例,且StringBuilder因适用于单线程环境而运行更快。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、String类型的拼接  

String str="爱我还是他";
str.concat("我已看不到我们的好");  
System.out.println(str);    //"爱我还是他"

  String的concat方法只会返回拼接括号内数据后的字符串,但是这个String类型的本身并不受影响。

String str="爱我还是他";
str=str+",我已看不到我们的好";
System.out.println(str);    //“爱我还是他,我已看不到我们的好”

  这里的拼接符不能所在的表达式不能单独存在,必须有赋值操作。

 

二、StringBuffer类型的拼接  

StringBuffer sb=new StringBuffer("爱我还是他");
sb.append("。");
System.out.println(sb.toString());  //“爱我还是他。”
sb.insert(0, "你都已看不到我们的好,");    //这里前一个参数是插入的下标,后一个参数是插入的数据
System.out.println(sb.toString());  //“你都已看不到我们的好,爱我还是他。”

可以看到,只要运用的append或insert方法,那么StringBuffer本身的值就会改变,而不用重新赋值。

三、StringBuilder类型的拼接

StringBuilder sb=new StringBuilder("爱我还是他");
sb.append("。");
System.out.println(sb.toString());//“爱我还是他。”
sb.insert(0, "你都已看不到我们的好,");
System.out.println(sb.toString());//“你都已看不到我们的好,爱我还是他。”

StringBuilder比StringBuffer运行速度要快,因为StringBuilder是针对于单线程的,所这它是非线程安全的。普通情况下建议使用StringBuilder。

(个人学习笔记,有错请说。谢谢!)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值