String 和StringBuffer 的区别

1.创建形式的不同

String 的创建方式有2两种 直接赋值 例如:String str="abck";  String abc=new String("abc");

StringBuffer 的创建方式只能通过构造函数,StringBuffer abc=new StringBuffer("abc");

2.修改值的形式不同

例如:String s="abc";    s+="cde";

StringBuffer s=new StringBuffer("abc");

StringBuffer 只能通过 s.append("abd");


3.性能不同

由于他们创建形式的不同,导致了性能的不同,String   是一个final 类型的对象,创建之后的对象不能被修改,如果需要修改,需要重新创建新的对象,旧的对象会被

GC 垃圾回收器清理。 StringBuffer 创建后的对象是一个需要不修改的对象,也就是需要修改值的时候,不用再创建新的对象。所以StringBuffer 比String 的性能更好一些

例如 在字符串的连接操作中,

String str = new String("welcome to ");
str += "here"; 的处理步骤实际上是通过建立一个StringBuffer,让侯调用append(),最后 再将StringBuffer toSting(); 这样也是消耗性能的。

你可以循环10000次连接字符,来测试两个的性能

4.StringBuffer 是线程安全的,在多线程执行的程序中可能会慢一些(猜测,该如何证明呢?)


5.StringBuffer 的一些对字符串操作的方法。例如:

append() ,

public StringBuffer append(boolean b)

deleteCharAt方法
public StringBuffer deleteCharAt(int index)

insert方法
public StringBuffer insert(int offset, String s)

reverse方法
public StringBuffer reverse()

等一些方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值