黑马程序员技术交流社区

标题: StringBuffer和StringBuilder [打印本页]

作者: love$$-IT    时间: 2015-2-28 22:38
标题: StringBuffer和StringBuilder
StringBuffer和StringBuilder在具体的开发中如何应用?
作者: sofeel    时间: 2015-3-1 00:06
StringBuffer和StringBuilder
这两兄弟的功能是对数组和String的增强。

故事大概是这样的:
java的八大基本类型确定下来之后,需要有个容器能够存下多个基本数据,数组诞生了,数组是一切容器的鼻祖。
数组可以存很多的数据,但短板也很明显:单类型、固定长度、没预见性。
String是用来描述文本的类,功能强大,可以看作是数组的同袍兄弟,两者之间的交流合作十分频繁。这个类十分特殊,可以自由创建对象,但对象都是常量,这也是它最大的问题。同样是固定长度,没预见性。(String s="",这个对象很特殊,有预见性,就像 兽族的先知!)

为解决上述问题,出现了 缓冲技术,buffer。还有多少数据要存?不知道。那,,把现在有的先存起来。buffer就是干这活的。它的实现是基于数组的,内部动态的创建数组。比如:以前有十个兄弟住一个房子,现在20个兄弟了,换大房子,后来40个兄弟了,再换更大的房子....不但如此,能住进buffer房子的不限男女老幼。这就是它的特点:动态存储,不限数据类型(基本类型,对象都行),移植高效(可对容器内元素整体操作)。
这是它作为容器存储的特点,使用时,往往转换成String。


作者: a986875894    时间: 2015-3-1 01:01
看具体需求  要求效率就用builder  要求安全就用buffer  我是习惯用builder  要是安全性有要求  加个锁就行了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2