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