• String,StringBuffer,StringBuilder三者的区别


    相同点:

    String,StringBuffer,StringBuilder,都是final类,不允许被继承,在本质上都是字符数组,

    不同点:

    1.String的长度是不可变的而后两者长度可变,在进行连接操作时,String每次返回一个新的String实例,而StringBuffer和StringBuilder的append方法直接返回this,所以当进行大量的字符串连接操作时,不推荐使用String,因为它会产生大量的中间String对象。

    2.StringBuffer和StringBuilder的一个区别是,StringBuffer在append方法前增加了一个synchronized修饰符,以起到同步的作用,为此也降低了执行效率;若要在toString方法中使用循环,使用StringBuilder。

    3.String是字符串常量

          Stringbuffer是字符串变量

          Stringbuilder是字符串变量

    4.

    StringBuilder与StringBuffer

          StringBuilder:线程非安全的

          StringBuffer:线程安全的

    5、对于三者的总结:1)如果操作少量的数据用String

                                        2)单线程下操作大量的数据用StringBuilder

                                        3)多线程下操作大量的数据用StringBuffer

  • 相关阅读:
    UVA11825 Hackers' Crackdown
    UVA 11346 Probability
    Codeforces 12 D Ball
    bzoj 4766: 文艺计算姬
    Codeforces 757 F Team Rocket Rises Again
    [HAOI2011] problem C
    Atcoder 3857 Median Sum
    bzoj4399 魔法少女LJJ
    bzoj2638 黑白染色
    bzoj4197 [Noi2015]寿司晚宴
  • 原文地址:https://www.cnblogs.com/chendezhen/p/8575152.html
Copyright © 2020-2023  润新知