StringBuilder和StringBuffer的区别

博客介绍了String类只能保存不可变字符串,当需要变化的字符串时系统会创建很多临时变量。而StringBuilder和StringBuffer可解决此问题,二者基本类似,StringBuffer线程安全,StringBuilder线程不安全但性能较高,一般用StringBuilder创建可变字符串对象。

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

  String类只能保存不可变的字符串(由于String是有finnal修饰的),即new时指定了特定字符串,在需要别的字符串时系统会自动创建新的变量,如下:

String str1="Hello"
system.out.println(str1);
system.out.println(str1+"World");

  这里str1是字符串“Hello”,在下面输出时对其字符串拼接,形成新的字符串“HelloWorld”,这是JVM会自动创建一个str2=“HelloWorld”(这里str2是我假设的变量名称)。
  当我们在程序中需要很多变化的字符串时,系统中会多出来很多临时变量。而StringBuilder和StringBuffer就是用来解决这个问题的。
  StringBuilder和StringBuffer基本类似,唯一不同的是StringBuffer实现了线程安全,而StringBuilder线程不安全。所以StringBuilder的性能相对较高。因此一般情况下,创建一个内容可变的字符串对象,使用StringBuilder类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值