StringBuffer和StringBuilder

四、StringBuffer和StringBuilder

  • 关系,亲兄弟,用来存储字符串。
  1. String

    1. jdk 1.0 就有了
    2. 不可变对象,好处,多线程的时候,可以避免数据共享,可以达到线程安全
    3. 不可变对象,坏处,如需持续多个字符串,会创建更多的字符串,占用更多的内存
    4. 不支持对单个字符的增删改查
    5. 线程安全的
  2. StringBuffer

    1. jdk 1.4 增加的(用来解决string效率问题)
    2. 可变字符串---字符串缓冲区
    3. 从来不会把字符串创建到常量池,直接存放到堆中
    4. 使用new 关键字创建字符串,只在堆中创建一个对象
    5. 下面的方法都是原地操作,因为他是可变字符串,支持对单个字符的增删改查
    6. 线程安全的
  3. StringBuilder

    1. jdk 1.5 增加的 (用来解决stringbuffer效率问题)
    2. 可变字符串
    3. 线程不安全的,性能高
    4. 原地操作,支持对单个字符的增删改查
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容