String,StringBuffer,StringBuilder个人认为较重要的区别

Posted jlon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String,StringBuffer,StringBuilder个人认为较重要的区别相关的知识,希望对你有一定的参考价值。

    今天在整理不可变对象知识点时,突然看到了String,StringBuffer,StringBuilder三者的区别,这里就挑一些我认为比较重要的点记录一下,方便日后查看。

    String,StringBuffer,StringBuilder都是final类,不允许被继承在本质上都是字符数组,不同的是,String的长度是不可变的而后两者长度可变,在进行连接操作时,String每次返回一个新的String实例,而StringBuffer和StringBuilder的append方法直接返回this,所以当进行大量的字符串连接操作时,不推荐使用String,因为它会产生大量的中间String对象。

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

以上是关于String,StringBuffer,StringBuilder个人认为较重要的区别的主要内容,如果未能解决你的问题,请参考以下文章

String,StringBuffer与StringBuilder的区别

(转)String,StringBuffer与StringBuilder的区别

重温java中的String,StringBuffer,StringBuilder类

Java常用类--String类(StringBuilder 和 StringBuffer)介绍

StringBuffer和StringBuilder类

StringBuffer的替换功能