- 字符串实现原理通过该类实现的。
StringBuffer可以对字符串内容进行增删。 - StringBuffer是个容器。是字符串缓冲区。
- 很多方法与String相同。
- StringBuffer是可变长度。
容器的特点:
长度可变化,可以操作多个类型,最终可以通过toString( )转换为字符串。面盆理论。
CURD:create, Update, Read, Delete
- 存储。
StringBuffer append( ):指定数据类型作为参数添加到已有数据类型的结尾处。 - StringDuffer insert(index,数据):可以将数据插入到index位置。
- 删除。
- StringBuffer delete( start, end ):删除缓冲区的数据,包含restart,不包含end。
- StringBuffer deleteCharAt( index ):删除指定位置的字符。
- 获取。
- char charAt( int index )
- int indexOf( String str )
- int lastIndexOf( String str)
- int length( )
- String substring(int start, int end)
- 修改。
- StringBuffer replace(int start, int end)
- void setCharAt(int index, char ch)
- 反转。
- StringBuffer reverse( );
- 将缓冲区的指定的数据存储到指定字符数组中。
- void getChars( int srcBegin, int srcEnd, char[ ] dst, int dstBegin)
StringBuilder(jdk1.5版本后出现的)
两者区别:
- StringBuffer是线程同步的。(安全,但效率低)
- StringBuilder是线程不同步的。(不安全,不需要判断锁,一般(但线程)推荐使用;就算多线程也可以通过自己手动加锁)
升级的三个因素:
- 提高效率
- 简化书写
- 提高安全性