您现在的位置是:首页 > 文章详情

LearnJava(三)String、StringBuffer 与 StringBuilder

日期:2018-07-28点击:363

我们知道,String对象是不可变的,而Java中String类提供了“+”进行字符串拼接操作,从JDK1.5开始,字符串的拼接操作是通过StringBuffer类来完成的。

String a = "str"; String b = "ing"; String c = a + b; 

上述代码的实际实现过程是:

String c = new StringBuffer(a).append(b).toString(); 

也就是说,在这个过程中实际创建了一个StringBuffer对象和一个String对象。因此,当对字符串进行修改的时候,使用 StringBuffer 和 StringBuilder 类,系统开销比较小。
与 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

区别
  • String 不可变,而 StringBuffer 和 StringBuilder 是可变的。
  • StringBuffer 是线程安全的,内部使用 synchronized进行同步,而 StringBuilder 不是线程安全的。

根据这些主要区别:

  1. 进行字符串拼接操作时,使用StingBuffer 和 StringBuilder 可以节省系统开销。
  2. 在要求线程安全的情况下,应该使用 StringBuffer。
原文链接:https://yq.aliyun.com/articles/662668
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章