StringBuffer、StringBuilder

java中的String是不可变的,每一次拼接都会产生一个新字符串,这样会占用的大量的方法区内存,造成内存浪费。

字符串答大量拼接可以使用如下两个:

StringBuffer、StringBuilder

一、StringBuffer

字符串缓存区对象。

默认字符串容量是16

StringBuffer s = new StringBuffer("1");

优化

创建StringBuffer时,尽可能给定一个最终的初始化容量,这样减少底层数组的扩容。

 String和StringBuffer区别

String底层也是byte数组,是final修饰的,不可变。 

StringBuffer底层也是Byte数组,但是前边没有final,当数组满了,它会自动扩容,创建新数组,把之前数组中的元素拷贝到新数组中。

二、StringBuilder

与StringBuffer区别

StringBuffer是线程安全的,在多线程环境下运行是安全的。

StringBuilder非线程安全的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值