学习过ArrayList数组集合就很容易理解StringBuffer与StringBuilder的实现原理。
比方说,我有一个char数组长度为100,用来存储字符串。
如果不断往里加数据,直到这100的长度不够存储时,而且数组的长度是不可变的。怎么办呢?
这时我们给它重新申请一个长度更长的char数组,
假设我又申请了一个长度为200的数组,然后把原来长度为100那个数组的数据拷贝到这个新的数组中来,,,
这样就可以继续存储数据了,
-----------------------------------------
StringBuffer与StringBuilder的区别?
StringBuffer有线程安全(同步),StringBuilder没有线程安全
-----------------------------------------
常用方法
append 追加内容方法
insert(int, 任何类型) 下标位置插入内容
delete(int1,int2) 删除 int1开始下标 int2结束下标
deleteCharAt(int) 删除指定下标的字符
reverse( ) 把反转的字符串返回出来