`
gstarwd
  • 浏览: 1538694 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

认识StringBuffer类(2)

阅读更多
11.1.1 认识StringBuffer类(2)
http://book.51cto.com  2009-07-31 08:42  李兴华  清华大学出版社  我要评论( <script src="http://www.51cto.com/php/getArtCount.php?artid=140661&amp;type=all"></script> 0 )

    * 摘要: 《Java开发实战经典》第11章Java常用类库,本章将介绍在实际开发时Java中出现的各种常见类库。本章视频录像讲解时间为5小时38分钟,源代码在光盘对应的章节下。本节为大家介绍StringBuffer类。
    * 标签: StringBuffer   Java   Java开发实战经典
    * <script src="http://www.51cto.com/js/article/keywords_ad.js"></script>
      Oracle帮您准确洞察各个物流环节

11.1.1  认识StringBuffer类(2)

2.实例操作二:在任意位置处为StringBuffer添加内容

可以直接使用insert()方法在指定的位置上为StringBuffer添加内容,代码如下。

范例:在任意位置处为StringBuffer添加内容

   1. package  org.lxh.demo11.stringbufferdemo;  
   2. public   class  StringBufferDemo03 {  
   3.      public   static   void  main(String[] args) {  
   4.         StringBuffer buf =  new  StringBuffer();  
   5. // 声明StringBuffer对象  
   6.         buf.append( "World!!" );  
   7.                  // 向StringBuffer中添加内容  
   8.         buf.insert( 0 ,  "Hello " ) ;                // 在所有内容之前添加  
   9.         System.out.println(buf);  
  10.              // 将修改后的结果输出  
  11.         buf.insert(buf.length(), "MLDN ~" ) ;  // 在最后添加  
  12.         System.out.println(buf);                 // 将内容输出  
  13.     }  
  14. } 

程序运行结果:

   1. Hello World!!  
   2. Hello World!!MLDN ~ 

3.实例操作三:字符串反转操作

在StringBuffer中专门提供了字符串反转的操作方法,所谓的字符串反转就是指将一个是"Hello"的字符串转为"olleH"。

范例:字符串反转操作

   1. package  org.lxh.demo11.stringbufferdemo;  
   2. public   class  StringBufferDemo04 {  
   3.      public   static   void  main(String[] args) {  
   4.         StringBuffer buf =  new  StringBuffer();  
   5. // 声明StringBuffer对象  
   6.         buf.append( "World!!" );  
   7.                  // 向StringBuffer中添加内容  
   8.         buf.insert( 0 ,  "Hello " ) ;              // 在所有内容之前添加  
   9.         String str = buf.reverse().toString() ; // 将内容反转后变为String类型   
  10.         System.out.println(str);             // 将内容输出  
  11.     }  
  12. } 

程序运行结果:

   1. !!dlroW olleH 

以上程序通过append()和insert()方法向StringBuffer加入数据后,使用reverse()方法将所有的内容以逆序的方式输出。

U提示:字符串反转操作是一种较为常见的操作。

在字符串的操作中,反转是一种较为常见的操作,最早的字符串反转实际上是通过入栈及出栈功能完成的,关于栈(Stack)在Java类集中将为读者介绍。

4.实例操作四:替换指定范围的内容

在StringBuffer类中也存在replace()方法,使用此方法可以对指定范围的内容进行替换。

范例:替换指定范围的内容

   1. package  org.lxh.demo11.stringbufferdemo;  
   2. public   class  StringBufferDemo05 {  
   3.      public   static   void  main(String[] args) {  
   4.         StringBuffer buf =  new  StringBuffer();  
   5.          // 声明StringBuffer  
   6. 对象  
   7.         buf.append( "Hello " ).append( "World!!" );  
   8.      // 向StringBuffer中  
   9. 添加内容  
  10.         buf.replace( 6 ,  11 ,  "LiXingHua" );  
  11.              // 将World替换为  
  12. LiXingHua   
  13.         System.out.println( "内容替换之后的结果:"   + buf);  // 删除替换之后的内容  
  14.     }  
  15. } 

程序运行结果:

   1. 内容替换之后的结果:Hello LiXingHua!! 

在String中如果要进行替换,则使用的是replaceAll()方法,而在StringBuffer中使用的是replace()方法,这一点读者在使用时需要注意。

5.实例操作五:字符串截取

通过substring()方法可以直接从StringBuffer的指定范围中截取出内容。

范例:截取指定范围的字符串内容

   1. package  org.lxh.demo11.stringbufferdemo;  
   2. public   class  StringBufferDemo06 {  
   3.      public   static   void  main(String[] args) {  
   4.         StringBuffer buf =  new  StringBuffer();  
   5.      // 声明StringBuffer对象  
   6.         buf.append( "Hello " ).append( "World!!" );  
   7. // 向StringBuffer中添加  
   8. 内容  
   9.         buf.replace( 6 ,  11 ,  "LiXingHua" );  
  10.          // 将World替换为  
  11. LiXingHua  
  12.         String str = buf.substring( 6 ,  15 );  
  13.          // 指定截取范围,并把内容转  
  14. 化为String类型  
  15.         System.out.println( "截取之后的内容: "  + str);    // 将截取后的结果输出  
  16.     }  
  17. } 

程序运行结果:

   1. 截取之后的内容:LiXingHua 

6.实例操作六:删除指定范围的字符串

因为StringBuffer本身的内容是可更改的,所以也可以通过delete()方法删除指定范围的内容。

范例:从StringBuffer中删除指定范围的字符串

   1. package  org.lxh.demo11.stringbufferdemo;  
   2. public   class  StringBufferDemo07 {  
   3.      public   static   void  main(String[] args) {  
   4.         StringBuffer buf =  new  StringBuffer();  
   5.      // 声明StringBuffer对象  
   6.         buf.append( "Hello " ).append( "World!!" );  
   7. // 向StringBuffer中添加  
   8. 内容  
   9.         buf.replace( 6 ,  11 ,  "LiXingHua" );  
  10.          // 将World替换为  
  11. LiXingHua  
  12.         String str = buf.delete( 6 ,  15 ).toString();  // 删除指定范围的字符串  
  13.         System.out.println( "删除之后的内容:"  + str);  // 输出删除之后的剩余内容  
  14.     }  
  15. } 

程序运行结果:

   1. 删除之后的内容:Hello !! 

7.实例操作七:查找指定的内容是否存在

通过indexOf()方法可以查找指定的内容,如果查找到了,则返回内容的位置,如果没有查找到则返回-1。

范例:查找指定的内容是否存在

   1. package  org.lxh.demo11.stringbufferdemo;  
   2. public   class  StringBufferDemo08 {  
   3.      public   static   void  main(String[] args) {  
   4.         StringBuffer buf =  new  StringBuffer();     // 声明StringBuffer对象  
   5.         buf.append( "Hello " ).append( "World!!" ); // 向StringBuffer中添加内容  
   6.          if (buf.indexOf( "Hello" )==- 1 ){              // 没有查找到则返回-1   
   7.             System.out.println( "没有查找到指定的内容" ) ;  
   8.         } else {                                    // 不为-1表示查找到内容  
   9.             System.out.println( "可以查找到指定的内容" ) ;  
  10.         }  
  11.     }  
  12. } 

程序运行结果:

   1. 可以查找到指定的内容 

从以上应用中可以发现,大部分形式与String类相似。
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics