StringBuffer和StringBuilder
这两兄弟的功能是对数组和String的增强。
故事大概是这样的:
java的八大基本类型确定下来之后,需要有个容器能够存下多个基本数据,数组诞生了,数组是一切容器的鼻祖。
数组可以存很多的数据,但短板也很明显:单类型、固定长度、没预见性。
String是用来描述文本的类,功能强大,可以看作是数组的同袍兄弟,两者之间的交流合作十分频繁。这个类十分特殊,可以自由创建对象,但对象都是常量,这也是它最大的问题。同样是固定长度,没预见性。(String s="",这个对象很特殊,有预见性,就像 兽族的先知!)
为解决上述问题,出现了 缓冲技术,buffer。还有多少数据要存?不知道。那,,把现在有的先存起来。buffer就是干这活的。它的实现是基于数组的,内部动态的创建数组。比如:以前有十个兄弟住一个房子,现在20个兄弟了,换大房子,后来40个兄弟了,再换更大的房子....不但如此,能住进buffer房子的不限男女老幼。这就是它的特点:动态存储,不限数据类型(基本类型,对象都行),移植高效(可对容器内元素整体操作)。
这是它作为容器存储的特点,使用时,往往转换成String。
|