1.在StringBuffer 中提供了一系列的append()方法,下面观察其使用(一定要注意的是,这些方法最终都会返回StringBuffer类的实例化对象)
public class StringBufferDemo01{
public static void main(String args[]){
StringBuffer buf = new StringBuffer() ; // 声明StringBuffer对象
buf.append("Hello ") ; // 向StringBuffer中添加内容
buf.append("World").append("!!!") ; // 可以连续调用append()方法
buf.append("\n") ; // 添加一个转义字符
buf.append("数字 = ").append(1).append("\n") ; // 添加数字
buf.append("字符 = ").append('C').append("\n"); // 添加字符
buf.append("布尔 = ").append(true) ; // 添加布尔值
System.out.println(buf) ; // 直接输出对象,调用toString()
}
};
2.在任意位置处为StringBuffer插入内容
可以直接使用insert()方法添加内容: public StringBuffer insert(int offset, boolean b)
public class StringBufferDemo03{
public static void main(String args[]){
StringBuffer buf = new StringBuffer() ; // 声明StringBuffer对象
buf.append("World!!") ; // 添加内容
buf.insert(0,"Hello ") ; // 在第一个内容之前添加内容
System.out.println(buf) ;
buf.insert(buf.length(),"MLDN~") ; // 在最后添加内容
System.out.println(buf) ;
}
};
3.字符串反转操作
直接使用reverse()方法就可以完成反转的功能: public StringBuffer reverse()
public class StringBufferDemo04{
public static void main(String args[]){
StringBuffer buf = new StringBuffer() ; // 声明StringBuffer对象
buf.append("World!!") ; // 添加内容
buf.insert(0,"Hello ") ; // 在第一个内容之前添加内容
String str = buf.reverse().toString() ; // 将内容反转后变为String类型
System.out.println(str) ; // 将内容输出
}
};
4.替换指定范围的内容
在StringBuffer 类中也存在replace()方法,使用此方法可以对指定范围的内容进行替换 : public StringBuffer replace(int start, int end, String str)
public class StringBufferDemo05{
public static void main(String args[]){
StringBuffer buf = new StringBuffer() ; // 声明StringBuffer对象
buf.append("Hello ").append("World!!") ; // 向StringBuffer添加内容
buf.replace(6,11,"LiXingHua") ; // 将world的内容替换
System.out.println("内容替换之后的结果:" + buf) ; // 输出内容
}
};
5.字符串截取
通过substring()方法直接从StringBuffer 中指定范围截取内容 : public String substring(int start, int end)
public class StringBufferDemo06{
public static void main(String args[]){
StringBuffer buf = new StringBuffer() ; // 声明StringBuffer对象
buf.append("Hello ").append("World!!") ; // 向StringBuffer添加内容
buf.replace(6,11,"LiXingHua") ; // 将world的内容替换
String str = buf.substring(6,15) ; // 截取指定范围的内容
System.out.println("内容替换之后的结果:" + str) ; // 输出内容
}
};
6.删除指定范围字符串的内容
因为StringBuffer 的内容是可以修改的,所以也可以通过delete()方法删除指定的内容.
public class StringBufferDemo07{
public static void main(String args[]){
StringBuffer buf = new StringBuffer() ; // 声明StringBuffer对象
buf.append("Hello ").append("World!!") ; // 向StringBuffer添加内容
buf.replace(6,11,"LiXingHua") ; // 将world的内容替换
String str = buf.delete(6,15).toString() ; // 删除指定范围中的内容
System.out.println("删除之后的结果:" + str) ; // 输出内容
}
};
7.查找指定的内容是否存在
在String 类中可以使用indexOf()方法进行查找,而在StringBuffer 中也可以继续使用此方法,些方法如果找到了内容则返回位置,否则返回 -1.
public class StringBufferDemo08{
public static void main(String args[]){
StringBuffer buf = new StringBuffer() ; // 声明StringBuffer对象
buf.append("Hello ").append("World!!") ; // 向StringBuffer添加内容
if(buf.indexOf("Hello")==-1){
System.out.println("没有查找到指定的内容") ;
}else{ // 不为01表示查找到内容
System.out.println("可以查找到指定的内容") ;
}
}
};
8,StringBuffer类的应用
频繁修改字符串中的内容,使用StringBuffer.
public class StringBufferDemo10{
public static void main(String args[]){
StringBuffer buf = new StringBuffer() ;
buf.append("LiXingHua") ;
for(int i=0;i<100;i++){
buf.append(i); // StringBuffer可以修改,性能高
}
System.out.println(buf) ;
}
};