首页 > 其他 > 详细

String,StringBuffer,StringBuilder三者的区别

时间:2018-03-15 18:42:55      阅读:239      评论:0      收藏:0      [点我收藏+]

相同点:

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

 

String,StringBuffer,StringBuilder三者的区别

原文:https://www.cnblogs.com/chendezhen/p/8575152.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!