StringBuffer是字符串缓冲区,是一个容器。
特点:
- 而且长度是可以变化的
- 可以字节操作多个数据类型
- 最终会通过toString方法变成字符串
可以对数据进行:
- 存储
StringBuffer append();
:将指定数据作为参数添加到已有数据的结尾处
StringBuffer insert(int index, 数据);
:可以将数据插入到指定的位置。
package StringTest;
public class StringBufferDemo {
public static void main(String[] args){
StringBuffer sb = new StringBuffer();
StringBuffer sb1 = sb.append("gy").append(" loves").append(" shh");//方法调用链
sop(sb1 == sb);
sop(sb.toString());
sop(sb1.toString());
sb.insert(1,1111);
sop(sb.toString());
}
public static void sop(Object obj){
System.out.println(obj);
}
}
结果:
true
gy loves shh
gy loves shh
g1111y loves shh
- 删除
StringBuffer delete(start, end)
:删除缓冲区中的数据,包含start,不包含end。
StringBuffer deleteCharAt(index);
:删除指定位置的字符。
package StringTest;
public class StringBufferDemo {
public static void main(String[] args){
method_delete();
}
public static void method_delete(){
StringBuffer sb = new StringBuffer("abcd");
sop("before:.........."+sb.toString());
sb.delete(1,2);
sop("after:.........."+sb.toString());
sb.deleteCharAt(2);
sop("after:.........."+sb.toString());
// 清空缓冲区
sb.delete(0,sb.length());
}
public static void sop(Object obj){
System.out.println(obj);
}
}
-
获取
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, String str);
void setCharAt(int index, char ch);
package StringTest;
public class StringBufferDemo {
public static void main(String[] args){
method_update();
}
public static void method_update(){
StringBuffer sb = new StringBuffer("abcde");
sb.replace(1,2,"java");
sop(sb.toString());
sb.setCharAt(1,'a');
sop(sb.toString());
}
public static void sop(Object obj){
System.out.println(obj);
}
}
输出结果:
ajavacde
aaavacde
- 反转
StringBuffer reverse();