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

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

    String,StringBuffer,StringBuilder都是final类,不容许被继承在本质上都是字符数组,不一样的是,String的长度是不可变的然后二者长度可变,在进行链接操做时,String每次返回一个新的String实例,而StringBuffer和StringBuilder的append方法直接返回this,因此当进行大量的字符串链接操做时,不推荐使用String,由于它会产生大量的中间String对象。app

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

相关文章
相关标签/搜索