String、StringBuilder、StringBuffer的比较

  最近学习中又遇到了StringBuilder,突然就联想到StringBuffeer和String。于是翻翻笔记还在。那么他们有什么区别?


  1.StringBuilder与StringBuffer

    StringBuilder:线程非安全,一般在单线程中操作字符串缓冲区使用,速度最快,但JVM不能保证拿安全。

    StringBuffer:线程非安全,一般在多线程操作字符串缓冲区。

  2.在执行速度方面  

    StringBuilder >  StringBuffer  >  String 

    String:字符串常量,不可改变的对象。每当用String操作字符串时,实际上实在不断创建新的对象,原来的则被GC回收,最慢。

    StringBuilder:字符串变量。可改变对象。每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,这样就不会像String一样创建一些而外的对象进行操作了。

    StringBuffer:字符串变量。可改变对象。和StringBuilder操作类似。

学习,永无止境!
原文地址:https://www.cnblogs.com/litinghappy/p/8490477.html