StringBuffer类用于可变字符串处理,即实现字符串内容的添加、修改和删除等操作。
1. 创建StringBuffer对象
public StringBuffer()
public StringBuffer(int length)
public StringBuffer(String str)
2. StringBuffer的主要方法
| 方法 | 功能 |
|---|---|
| StringBuffer append(Object obj) | 将某个对象的串描述添加到StringBuffer尾部。 |
| StringBuffer insert(int position, Object obj) | 将某个对象的串描述插入到StringBuffer中的某个位置。 |
| StringBuffer insert(int index, char[] str, int offset,int len) | 将字符数组str中从offset位置开始的len个字符插入到串的index位置。 |
| StringBuffer setCharAt(int position, char ch) | 用新字符替换指定位置字符。 |
| StringBuffer deleteCharAt(int position) | 删除指定位置的字符。 |
| StringBuffer replace(int start, int end, String str) | 将参数指定范围的一个子串用新串替换。 |
| String substring(int start, int end) | 获取所指定范围的子串。 |
//1、思考以下代码段对应的运行结果StringBuffer str1=new StringBuffer();str1.append("Hello,mary!");str1.insert(6,30);System.out.println(str1.toString());//结果为:Hello,30mary!public class Test{public static void main(String argv[]){StringBuffer x=new StringBuffer("hello");myMethod(x);System.out.println("x="+x);}static void myMethod(StringBuffer k){k=k.append(",你好");System.out.println("k="+k);}}//运行结果/*k=hello,你好x=hello,你好*/class E {public static void main(String[ ] args) {StringBuffer sb1 = new StringBuffer("hello");StringBuffer sb2 = new StringBuffer("hello");if (sb1.equals(sb2)) //注意:StringBuffer 类没有重写equals方法 !System.out.println("equal");elseSystem.out.println("not equal");}}运行结果:not equal例7-4 将一个字符串反转public class StringsDemo {public static void main(String[] args) {String s = "Dot saw I was Tod";int len = s.length();StringBuffer dest = new StringBuffer(len);for (int i = (len - 1); i >= 0; i--)dest.append(s.charAt(i));/*String des= " ";for (int i = (len - 1); i >= 0; i--)des=des+s.charAt(i);*///StringBuffer有reverse()字符串反转函数System.out.println(dest.toString());}}写程序的运行结果public class Foo {public static void main (String [ ] args) {StringBuffer a = new StringBuffer("A");StringBuffer b = new StringBuffer("B");operate(a,b);System.out.println(a + "," +b);}static void operate (StringBuffer x, StringBuffer y) {x.append(y);y = x;}}运行结果:AB,Bpublic class Foo {public static void main (String [ ] args) {String a = new String("A");String b = new String("B");operate(a,b);System.out.println(a + "," +b);}static void operate (String x, String y) {x=x+y;y = x;}}运行结果:A,B
