StringBuffer类和String 类最大的区别在于他的内容和长度都是可以改变的。。
常用方法演示:(课本上源代码)
package example1.cpm;
public class Example {
public static void main(String[] args) {
System.out.println("1,添加--------------");
add();
System.out.println("2,删除--------------");
remove();
System.out.println("3,修改--------------");
alter();
}
public static void add()
{
StringBuffer sb=new StringBuffer();
sb.append("abcdefg");
System.out.println("append添加结果:"+sb);
sb.insert(2,"123");
System.out.println("insert添加结果:"+sb);
}
public static void remove()
{
StringBuffer sb=new StringBuffer("abcdefg");
sb.delete(1,5);
System.out.println("删除指定位置结果:"+sb);
sb.deleteCharAt(2);
System.out.println("删除指定位置结果:"+sb);
sb.delete(0,sb.length());
System.out.println("清空缓冲区结果为:"+sb);
}
public static void alter()
{
StringBuffer sb=new StringBuffer("abcdef");
sb.setCharAt(1, 'p');
System.out.println("修改指定位置字符结果是:"+sb);
sb.replace(1, 3, "qq");
System.out.println("修改知道位置字符结果是:"+sb);
System.out.println("字符串翻转结果:"+sb.reverse());
}
}
运行结果:
注意:
1 append()方法始终将这些字符添加到缓冲区的末尾,而insert()方法则可以在指定的位置添加字符
2 String类覆盖了Object类中的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法。
3 String类对象可以用操作符+进行连接,而StringBuffer 类对象之间不能。