构造方法:
1. public StringBuffer() 初始容量为16个字符
2. public StringBuffer(int capacity) 指定容量的 字符串缓冲区 对象
3. public StringBuffer(String str) 指定字符串的 字符串缓冲区对象 容量为16+str.length()功能:
1. 添加 StringBuffer append(String str) 添加后返回对象本身
2. 插入 StringBuffer insert(int offset,Object obj) 返回对象本身tips: 可以添加插入 任意数据类型
将 Object 参数的字符串表示形式插入此字符序列中。 第二个参数将被转换成字符串,就好象使用了 String.valueOf 方法一样。然后,将所得字符串中的字符追加到此序列的制定索引位置。
offset 参数必须大于等于 0,且小于等于此序列的长度
3. 删除 StringBuffer deleteCharAt(int index) 删除指定位置的 字符,并返回对象本身
StringBuffer delete(int start,int end) 删除指定位置区间的 也是左闭又开,[start,end),删除头不删除尾
4. 替换 StringBuffer replace(int start , int end ,String str) 从开始到结束的位置 用str替换
5. 反转 StringBuffer reverse() 字符串反转
6. 截取 String substring(int start) 从指定位置到末尾 返回的是一个字符串
substring(int start, int end) 不包括结束位置
3. 转换成String
1. String toString()
2. String substring(int start)
Tips:
1. 基本数据类型的值传递,不改变其值(也包括String,常量池)
2. 引用数据类型的值传递,改变其值(堆)StringBuffer,StringBuilder,String 面试题
- String,StringBuffer,StringBuilder的区别?
- StringBuffer和StringBuilder的区别?
- StringBuffer是jdk1.0版本的,是线程安全的,效率低
StringBuilder是jdk1.5版本的,是线程不安全的,效率高
String和StringBuffer,StringBuilder的区别?
- String是一个不可变的字符序列
- StringBuffer,StringBuilder是可变的字符序列