码迷,mamicode.com
首页 > 其他好文 > 详细

String StrigBuffer StringBuilder 浅解

时间:2017-06-11 14:57:53      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:针对   insert   ring   ringbuf   app   比较   使用   改变   uil   

1.String是最基本的字符串类,用于表示字符串。

特点:对象内容不可变,但可以通过指向不同的对象来“表示”不同的内容。

使用场景:如果不涉及到内容改变,可以使用String。

注意:如果想将String作为输出型参数,抱歉,做不到。 方法返回后,内容还是没有赋上值。具体原因就得追究到内存原理上了。此处不再叙述。

 

2.StringBuffer:针对String要改变内容必须指向别的对象的缺陷而设计,StringBuffer可以直接改变其内容,不需要指向别的对象。

特点:内容可改变(通过append/insert等方法); 线程安全。

使用场景:字符串内容需要不断进行改变的地方,比如不断重组,且需要保证线程安全。

 

3.StringBuilder:同StringBuffer。

与StringBuffer区别在于:StringBuffer是线程安全的,而StringBuilder是线程不安全的。但效率上来说,StringBuilder比StringBuffer高。

使用场景:字符串内容需要不断进行改变的地方,比如不断重组,且就是在单线程中使用,不涉及到线程安全。

 

综上可知,实际中的场景应该是使用String和StringBuilder比较多。 

 

String StrigBuffer StringBuilder 浅解

标签:针对   insert   ring   ringbuf   app   比较   使用   改变   uil   

原文地址:http://www.cnblogs.com/Anidot/p/6985064.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!