zoukankan      html  css  js  c++  java
  • String/StringBuffer/StringBuilder区别

    String是不可改变的对象。
    每次改变其实都是创建了一个新的对象,然后将指针指向新的String对象,所以经常改变内容的字符串尽量不要用String,
    因为每次都会生成新的对象,对系统性能有影响。
    String s ="A"+"B"+"C";
    速度非常快,因为JVM认识这个语句。在编译期间就把他看成来了 String s ="ABC"
    而 String s1 ="A"     String s2 ="B"     String s3 ="C"
        String s =s1+s2+s3 则没有了速度优势。
    StringBuffer是(线程安全的)可以改变的对象,一般来讲速度稍快于String对象。
    .append()在结尾加上字符串
     StringBuffer Sb = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”);
    .insert()在指定角标加字符串
    例如,如果 z 引用一个当前内容是“start”的字符串缓冲区对象,则此方法调用 z.append("le") 会使字符串缓冲区包含“startle”,而 z.insert(4, "le") 将更改字符串缓冲区,使之包含“starlet”
    StringBuilder是(线程不安全的)可改变的对象,提供与StringBuffer兼容的API,单线程推荐使用,速度比StringBuffer快。

  • 相关阅读:
    推荐一款idea 翻译插件 ECTranslation
    idea 执行maven 命令
    Future Clalback使用案例
    newCachedThreadPool使用案例
    线程池 原理学习笔记
    使用curator框架简单操作zookeeper 学习笔记
    mongo aggregate 用法记录
    ReentrantLock 学习笔记
    VUE:过渡&动画
    VUE:生命周期
  • 原文地址:https://www.cnblogs.com/xiejiusi/p/7743625.html
Copyright © 2011-2022 走看看