String、StringBuffer与StringBuilder之间区别

来源:互联网 发布:去马赛克软件 编辑:程序博客网 时间:2024/06/13 11:00
  • String 是不可变类,每次对String的操作都会生成新的String对象,效率低下,而且大量浪费有限的内存空间;
  • StringBuffer是可变、线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象;
  • StringBuilder是可变、线程不安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象,不支持线程同步 ;
  • (StringBuffer和StringBuilder有共共父类AbstractStringBuilder(抽象类))

    1.执行速度方面的比较:StringBuilder > StringBuffer > String

    2.使用场景
    (1).如果要操作少量的数据使用String。
    (2).单线程操作字符串缓冲区下操作大量数据使用StringBuilder。
    (3).多线程操作字符串缓冲区下操作大量数据使用StringBuffer。

原创粉丝点击