1.
在执行速度方面的比较:
StringBuilder > StringBuffer > String
2. StringBuffer
与
StringBuilder
,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像
String
一样创建一些对象进行操作,所以速度就快了。
3. StringBuilder
:线程非安全的
StringBuffer
:线程安全的
当我们在字符串缓冲去被多个线程使用是,
JVM
不能保证
StringBuilder
的操作是安全的,虽然他的速度最快,但是可以保证
StringBuffer
是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用
StringBuilder
而不用
StringBuffer
的,就是速度的原因。
对于三者使用的总结
: 1.
如果要操作少量的数据用
= String
2.
单线程操作字符串缓冲区
下操作大量数据
= StringBuilder
3.
多线程操作字符串缓冲区
下操作大量数据
= StringBuffer