本文共 3728 字,大约阅读时间需要 12 分钟。
1.认识StringBuffer
在String类的介绍中,有一条特性是String的内容一旦声明则不可改变,如果要改变,则改变的肯定是String的引用地址,那么如果一个字符串需要经常改变,则就必须使用StringBuffer类。我们知道在Sring类中可以通过“+”进行字符串的拼接,但在StringBuffer中却只能使用append方法进行字符串的拼接。下面在介绍方法时候,再展示。 2.StringBuffer常用方法方法一:字符串连接操作
在程序中可以使用append()方法可以进行字符串的连接,而且此方法返回一个StringBuffer类的实例,这样就可以使用代码链的形式一直调用append()方法。 方法演示示例:public class StringBufferDemo01{ public static void mains(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 }}
范例:验证StringBuffer的内容是可以更改的
public class StringBufferDemo02{ public static void main(String args[]){ StringBuffer buf = new StringBuffer(); //声明StringBuffer对象 buf.append("Hello"); fun(buf); // 传递StringBuffer的内容 System.out.println(buf); } public static void fun(StringBuffer s){ //接受StringBuffer引用 s.append("HZJT").append("HZIT"); //修改StringBuffer的内容 }}
方法二:在任意位置处为StringBuffer添加内容
可以直接使用insert()方法在指定的位置上为StringBuffer添加内容。 方法演示示例: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(),"HZIT"); System.out.println(buf); }}
方法三:字符串反转操作
在StringBuffer中专门提供了字符串反转的操作方法,作为字符串反转就是指将一个是“Hello”的字符串转为“olleH”。public class StringBufferDemo04{ public static void main(String args[]){ StringBuffer buf = new StringBuffer(); buf.append("World"); //添加内容 buf.insert(0,"Hello"); //在第一个内容之前添加内容 String str = buf.reverse().toString(); //将内容反转后变为String类型 System.out.println(str); //输出:dlroWolleH }}
方法四:替换指定范围的内容
在StringBuffer中也存在replace()方法,使用此方法可以对指定范围的内容进行替换,而在String中如果要进行替换,则使用的是replaceAll()方法,这一点需要注意一下。public class StringBufferDemo05{ public static void main(String args[]){ StringBuffer buf = new StringBuffer(); //声明StringBuffer对象 buf.append("Hello").append("World!!"); buf.replace(6,11,"hzit"); //将world的内容替换 System.out.println("内容替换之后的结果:"+buf); //输出内容:内容替换之后的结果:HelloWhzit! }}
方法五:字符串截取
通过substring()方法可以直接从StringBuffer的指定范围中截取处内容。public class StringBufferDemo06{ public static void main(String args[]){ StringBuffer buf = new StringBuffer(); //声明StringBuffer对象 buf.append("Hello").append("World!!"); //向StringBuffer添加内容 buf.replace(6,11,"zhangsan"); //将world的内容替换 System.out.println(buf); //输出:HelloWzhangsan! String str = buf.substring(6,15); //截取指定范围的内容 System.out.println("内容替换之后的结果:"+ str); //输出内容:zhangsan! }}
方法六:删除指定方位的字符串
因为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,"zhangsan"); //将world的内容替换 System.out.println(buf); //输出:HelloWzhangsan! String str = buf.delete(6,15).toString(); //截取指定范围的内容 System.out.println("删除之后的结果:"+ str); //输出内容:zhangsan! }}
方法七:查找指定的内容是否存在
通过indexOf()方法可以查找指定内容,如果查找到了,则可以返回内容的位置,如果没有查找到则返回-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{ System.out.println("可以查找到指定的内容"); } }}
上面就是StringBuffer的基本用法,每个方法的代码都可以自己试一试,比较浅显,如有错误望指正。
转载地址:http://magki.baihongyu.com/