stringBuffer 和stringBuilder

 

 

2 StringBuilder StringBuffer

  String = char[] + 操作(复制创建新对象)

  StringBuilder=char[] + char[]操作(处理当前数组内容)

  StringBuilder 内部的char[]数组内容可变, 如果长度

  不够, 利用变长算法维护, 自动扩容长度.

 

 1) StringBuilder 是变长字符序列

 2) StringBuilder 方法:appendinsert ... 都返回

   当前 StringBuilder 对象本身的引用。

 3) 如果软件需要大量字符串处理时候建议使用StringBuilder

   "A" + "B"

 4) String s = s1+s2; Java实际上才是如下代码运行:

   String s=new StringBuilder(s1).append(s2).toString();

    

   String s = s1+s2+s3+s4; 被优化为

   String s = new StringBuilder(s1)

     .append(s2).append(s3).append(s4).toString();

  

   s+="a";//会产生两个新对象(StringBuilder, String)

 

   StringBuilder buf=new StringBuilder();

   buf.append("a");

   buf.append("a");

  

 5) StringBuffer StringBuilder API几乎一样!

   StringBuffer java早期提供的,速度稍慢,线程安全

   StringBuilder Java5 以后提供的,速度快,非线程安全

 

char[]  Stirng  StringBuilder(1.5) ==? StringBuffer(1.0)

                   非线程安全非同步        线程安全同步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值