String,StringBuilder,StringBuffer"三剑客"

害,不知道什么时候才能养成一天不写博客手痒痒的习惯。

String

来自:java.lang。
实现:
Serializbale(序列化)
Comparable< String >
CharSequence(字符序列)。
String是final类不能被继承。
String类是字符串常量,是不可更改的常量。
方法例举:在这里插入图片描述


StringBuffer(可被多次修改,不产生新的未使用对象)

慢,但是线程安全
来自:java.lang
继承:AbstractStringBuilder(可变字符序列)
实现:
Serializable
CharSequence。
StringBuffer是字符串变量,它的对象是可以扩充和修改的,因此数据会发生频繁更替的就可以使用StringBuffer对象啦
举个例子:
将1到100的所有数字全部拼起来:

StringBuffer sb = new StringBuffer();
for(int i = 0; i < 100; i++){
	sb.append(i);
}

相对于String对象的

String str = new String();
for(int i = 0; i < 100; i++){
	str = str + i;
}

的这种方式StringBuffer对象的效率要高出那么一筹。学习之初String对象还是用的比较多的。
StringBuffer对象存储进Java集合类中时会出现问题,因为它没有equals方法和hashCode方法???无法完成比较的操作的话它就是会出问题???


StringBuilder(可被多次修改,不产生新的未使用对象)

快,但是线程不安全
来自:java.lang
继承:AbstractStringBuilder。
实现:
Serializable
CharSequence。
用在字符串缓冲区被单个线程使用的时候
方法:
在这里插入图片描述在这里插入图片描述
不随地乱扔代码,从你我做起。爱护代码就是爱护你自己。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值