StringBuilder 和 StringBuffer 区别

来源:互联网 发布:实时荧光定量pcr数据分析 编辑:程序博客网 时间:2024/06/06 09:32


StringBuilder 和 StringBuffer 区别


前言:可以介绍一下String类是一个不变类

注意两点:对象可变与不可变;线程是否安全

 

1)在执行速度方面:StringBuilder> StringBuffer  

2)StringBuffer与StringBuilder,均为字符串变量,是可改变的对象,每当用它们对字符串做操作时,实际上是

在一个对象上操作的,不像String 一样创建一些对象进行操作,所以速度快。

3)StringBuilder:线程非安全的。StringBuffer:线程安全的

当在字符串缓冲去被多个线程使用是, JVM 不能保证StringBuilder 的操作是安全的,虽然速度最快,但是可

以保证StringBuffer 是可以正确操作的。

 

大多数情况下是在单线程下进行的操作,所以大多数情况下是建议用 StringBuilder 而不用StringBuffer 

的,就是速度的原因

 

总结:(使用技巧)

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

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

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


0 0