String和StringBuffer和SringBuilder

String和StringBuffer
区别
改变的对象不同
对String进行修改是在内存中新开辟一个空间
对StringBuffer的修改是改变其本身


所以 假如一个字符串需要经常性的改变,用 StringBuffer 比用 String 效率要高
String
字符串常量,是不可变对象, 每次对String类型进行改变时其实都等同于生成了一个新的String对象,然后指向新的String对象

StringBuffer
是可变字符串, 每次对StringBuffer对象进行改变时,会对StringBuffer本身进行操作


StringBuilder

使用方法等价于StringBuffer,JDK5.0版本以后才出现的

与StringBuffer的区别在于

StringBuffer是线程安全的,所以使用效率比stringbuilder低一些
StringBuilder是单线程的,不提供同步


使用效率

String<StringBuffer<StringBuilder


示例:

//我们创建一个StringBuffer对象,可以传入字符串类型,也可以不传,传入int类型没用
StringBuffer buffer = new StringBuffer("金前旺");
//添加的方法
//可以添加字符串,boolean类型数据,char类型数据,char[]数组......几乎什么都能加
buffer.append("我爱打篮球");
buffer.append(false);
buffer.append("char类型数据");
buffer.append("char[]数组");
//将Stringbuffer转换成String字符串,返回的是一个字符串所以用字符串接收
String str = buffer.toString();
//插入方法
buffer.insert(1, "打篮球");
//返回索引
buffer.indexOf("打");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值