1.实例操作一:字符串连接操作
范例:通过append连接各种类型的数据
package org.lxh.demo11.stringbufferdemo;
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);
// 内容输出
}
}
程序运行结果:
Hello World!!!
数字 = 1
字符 = C
布尔 = true
2.实例操作二:在任意位置处为StringBuffer添加内容
范例:在任意位置处为StringBuffer添加内容
package org.lxh.demo11.stringbufferdemo;
public class StringBufferDemo03 {
public static void main(String[] args) {
StringBuffer buf = new StringBuffer();
// 声明StringBuffer对象
buf.append("World!!");
// 向StringBuffer中添加内容
buf.insert(0, "Hello ") ; // 在所有内容之前添加
System.out.println(buf);
// 将修改后的结果输出
buf.insert(buf.length(),"MLDN ~") ; // 在最后添加
System.out.println(buf); // 将内容输出
}
}
程序运行结果:
Hello World!!
Hello World!!MLDN ~
3.实例操作三:字符串反转操作
在StringBuffer中专门提供了字符串反转的操作方法,所谓的字符串反转就是指将一个是"Hello"的字符串转为"olleH"。
范例:字符串反转操作
package org.lxh.demo11.stringbufferdemo;
public class StringBufferDemo04 {
public static void main(String[] args) {
StringBuffer buf = new StringBuffer();
// 声明StringBuffer对象
buf.append("World!!");
// 向StringBuffer中添加内容
buf.insert(0, "Hello ") ;
// 在所有内容之前添加
String str = buf.reverse().toString() ;
// 将内容反转后变为String类型
System.out.println(str);
// 将内容输出
}
}
程序运行结果:
!!dlroW olleH
以上程序通过append()和insert()方法向StringBuffer加入数据后,使用reverse()方法将所有的内容以逆序的方式输出。
U提示:字符串反转操作是一种较为常见的操作。
在字符串的操作中,反转是一种较为常见的操作,最早的字符串反转实际上是通过入栈及出栈功能完成的,关于栈(Stack)在Java类集中将为读者介绍。
4.实例操作四:替换指定范围的内容
在StringBuffer类中也存在replace()方法,使用此方法可以对指定范围的内容进行替换。
范例:替换指定范围的内容
package org.lxh.demo11.stringbufferdemo;
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替换为
LiXingHua
System.out.println("内容替换之后的结果:"
+ buf); // 删除替换之后的内容
}
}
程序运行结果:
内容替换之后的结果:Hello LiXingHua!!
在String中如果要进行替换,则使用的是replaceAll()方法,而在StringBuffer中使用的是replace()方法,这一点读者在使用时需要注意。
5.实例操作五:字符串截取
通过substring()方法可以直接从StringBuffer的指定范围中截取出内容。
范例:截取指定范围的字符串内容
package org.lxh.demo11.stringbufferdemo;
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替换为
LiXingHua
String str = buf.substring(6, 15);
// 指定截取范围,并把内容转
化为String类型
System.out.println("截取之后的内容:
" + str); // 将截取后的结果输出
}
}
程序运行结果:
截取之后的内容:LiXingHua
6.实例操作六:删除指定范围的字符串
因为StringBuffer本身的内容是可更改的,所以也可以通过delete()方法删除指定范围的内容。
范例:从StringBuffer中删除指定范围的字符串
package org.lxh.demo11.stringbufferdemo;
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替换为
LiXingHua
String str = buf.delete(6, 15).toString();
// 删除指定范围的字符串
System.out.println("删除之后的内容:" + str);
// 输出删除之后的剩余内容
}
}
程序运行结果:
删除之后的内容:Hello !!
7.实例操作七:查找指定的内容是否存在
通过indexOf()方法可以查找指定的内容,如果查找到了,则返回内容的位置,如果没有查找到则返回-1。
范例:查找指定的内容是否存在
package org.lxh.demo11.stringbufferdemo;
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){
// 没有查找到则返回-1
System.out.println("没有查找到指定的内容") ;
}else{
// 不为-1表示查找到内容
System.out.println("可以查找到指定的内容") ;
}
}
}