/*
* StringBuffer
* 是一个存储字符的容器
* StingBuffer 底层是依赖了一个字符数组才能存储字符数据的,该字符串数组默认的初始容量是16,如果字符数组的长度不够使用时,自动增长1倍;
* 容器一般都具备增删查改的功能
* StringBuffer中的方法
* 1.增加
* append( ) 可以添加任意类型的数据,并且都会转换成字符串,追加在数据末尾
* insert(int offset, boolean b) 在offset的位置插入任意类型的数据
* 2.删除
* delete(int start, int end) 根据开始start和结束end的索引值删除字符;删除的时候也是包含头不包含尾部
* deleteCharAt(int index) 根据索引值删除一个字符
* 3.修改
* replace(int start, int end, String str) 将开始和结束位置的内容替换成str;
* reverse() 倒置stringBuffer中的内容
* setCharAt(int index, char ch)将指定位置的字符替换,只能替换单个字符
* subString(int start, int end) 根据开始和结束索引截取子串
* ensureCapacity(int minicapticy) 指定StringBuffer的默认长度
* 4.查找
* indexOf(String str, int fromIndex) 指定开始查找子串的位置,返回第一次出现的索引值
* capacity() 查看当前字符数据的长度,
* charAt(int index) 根据指定的索引值查找字符
* length() 获取字符的个数
* toString() 将字符串缓冲对象中的内容转换为字符串
*
*/
public class Demo9 {
public static void main(String[] args) {
// 构造一个不带参数的字符串缓冲类的对象,是一个空容器
StringBuffer sb = new StringBuffer();
sb.append("abcd");
sb.append('你');
sb.append(true);
sb.append(3.14);
sb.insert(3,"你好");
sb.delete(3, 5);
sb.deleteCharAt(4);
sb.replace(0, 2, "你好");
sb.reverse();
System.out.println(sb);
System.out.println(sb.indexOf("好你",1));
System.out.println(sb.substring(1, 3));
System.out.println(sb.capacity());
System.out.println(sb.toString());
}
}