1.StringBuffer其实就是一个存储字符的容器。
2.使用StringBuffer无参的构造函数创建一个对象时,默认的初始容量是多少?如果长度不够使用了,自动增长多少倍?
StringBuffer底层是依赖了一个字符数组才能存储字符数据的,该字符串数组的初始容量是16.,如果字符数组的长度不够使用,自动增长1倍+2。
3.StringBuffer常用方法:
增加:append(Object obj) 添加任意类型的数据
insert(int offset,Object o) 指定索引值处插入对应的内容
删除:delete(int start,int end) 根据指定的开始与结束的索引值删除对应的内容
deleteCharAt(int index) 根据指定的索引值删除对应的字符
修改:replace(int start,int end,String str) 根据指定的开始与结束索引值替代成指定的内容。
reverse() 反转字符串缓冲类的内容
setCharAt(int index,char ch) 将指定索引值的字符替换成指定的字符
subString(int start,int end) 根据指定的索引值截取子串
ensureCapacity(int minimumCapacity) 指定StringBuffer内部的字符数组的长度
查看:indexOf(String str,int fromIndex) 查看指定的字符串第一次出现的索引值,并指定开始查找的位置。
capacity() 查看当前字符数组的长度
charAt(int index) 根据指定的索引值查看字符
length() 存储的字符个数
toString() 把字符串缓冲类的内容以字符串形式输出
4.StringBuffer与StringBuilder的相同处与不同处
相同点:
1.两个类都是字符串缓冲类。
2.两个类的方法都是一致的。
不同点:
1.StringBuffer是线程安全的,操作效率低,StringBuilder是线程非安全的,操作效率高。
2.StringBuffer是jdk1.0出现的,StringBuilder是jdk1.5出现的。
推荐使用:StringBuilder因为操作效率高。