String ,StringBuffer, StringBuilder之间的区别

来源:互联网 发布:手机淘宝 5.9.0旧版本 编辑:程序博客网 时间:2024/05/16 11:57

1,String是字符串类容不可变的,StringBuffer,StringBuilder是字符串类容长度可变的;

2,StringBuffer是同步的,数据安全,效率低的;

3,StringBuilder是不同步的,数据不安全,效率高。

(1),在执行速度方面的比较:StringBuilder>StringBuffer;

(2),StringBuilder与StringBuffer他们是字符串变量,是可以改变的对象,每当我们用他们对字符串做操作时,实际上是在一个对象上操作的,而不象String一样创建一些对象并进行操作,所以他的速度就快;

(3),StringBuilder:线程是非安全的   StringBuffer的额线程是安全的

  

  当我们在字符缓冲去被多个线程使用时,JVM不能保证BufferBuilder的操作是安全的,虽然它的速度快,但是可以保证StringBuufer是可以正确操作的。当然大多数情况下是在单线程下进行的操作,所以大多数情况下建议使用StringBuilder而不使用StringBuffer,就是速度的原因。


对其的总结:

如果操作少量的数据用=String;

单线程操作字符串缓冲区下操作大量数据=StringBuilder;

多线程操作字符串缓冲区下操作大量数据=StringBuffer

阅读全文
0 0
原创粉丝点击