关闭

stringBuffer 和stringBuilder

248人阅读 评论(0) 收藏 举报

 

 

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)

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:125999次
    • 积分:2715
    • 等级:
    • 排名:第13907名
    • 原创:106篇
    • 转载:49篇
    • 译文:1篇
    • 评论:5条
    文章分类
    最新评论