StringBuilder和StringBuffer

来源:互联网 发布:产品宣传手册制作软件 编辑:程序博客网 时间:2024/05/01 20:46

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

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

StringBuilder内部char[]数组内容可变,如果长度不够,利用变长算法维护,自动扩容长度。

append()方法,表示“追加”,该方法反复操作的始终是1个对象;

insert()方法,表示“插入”;

delete()方法,表示“删除”;

StringBuilder

1)StringBuilder是变长字符序列

2)StringBuilder方法:append,insert... 都返回当前StringBuilder 对象本身的引用

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

4)String s =s1+s2;Java实际上是如下代码运行:String s=newStringBuilder(s1).append(s2).toString();

5)String s =s1+s2+s3+s4;被优化为String s = new StringBuilder(s1).append(s2).append(s3).append(s4).toString();

6)s += "a";会产生两个新对象(StringBuilder, String)(笔试题)

StringBuilder buf=new StringBuilder();

buf.append("a");

buf.append("a");

7)StringBuffer 和StringBuilder API几乎一样!StringBuffer 是java早期提供的(JDK1.0),速度稍慢,线程安全

StringBuilder 是Java5 以后提供的(JDK5.0),速度快,非线程安全


0 0
原创粉丝点击