`
gstarwd
  • 浏览: 1495348 次
  • 性别: 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类相似。
 
分享到:
评论

相关推荐

    《剑指offer》Java-String、StringBuffer 和 StringBuilder 的区别.pdf

    简单认识这三个对象 String StringBuffer StringBuilder 深入理解 String、StringBuilder、StringBuffer 从设计角度理解 String StringBuilder StringBuffer StringBuilder 和 StringBuffer 的扩容问题 总结

    面向对象技术与UML课件及源代码-by 南邮-陈杨

    10.3用StringBuffer类进行字符串处理 10.4基本数据类型的包装类 10.4.1认识包装类 10.4.2通过包装类进行数据转换 10.5认识Java集合 10.5.1为什么需要集合 10.5.2Java中的集合 10.6使用一维集合 10.6.1认识一...

    JAVA面试题最全集

    使用StringBuffer类与String类进行字符串连接时有何区别? 57.调用Thread类的destroy()方法有什么后果? 58.多线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用? 59.使用socket建立客户端...

    java基础案例与开发详解案例源码全

    9.2 StringBuffer类的使用231 9.3 StringBuilder类的使用233 9.4 日期类简介234 9.5 Java语言国际化时间获取与计算238 9.6 Random类和Math类240 9.7 本章习题243 第10章 10.1 异常概述246 10.2 使用try和catch捕获...

    AIC的Java课程1-6章

     能够使用String,StringBuffer,StringBuilder类创建字符串对象和使用其方法,分辨不同类之间的区别。  能够使用Date, Calendar, Locale, DateFormat,NumberFormat类创建、改变和显示日期、数字和货币...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    9.3 String类的最佳拍档——StringBuffer类 227 9.3.1 StringBuffer:专业操纵字符 228 9.3.2 String和StringBuffer一个都不能少 229 9.4 最熟悉的陌生人:main()方法 229 9.4.1 main()方法的参数 229 9.4.2 ...

    Java开发详解.zip

    031301_【第13章:Java类集】_认识类集、Collection接口笔记.pdf 031302_【第13章:Java类集】_List接口笔记.pdf 031303_【第13章:Java类集】_LinkedList类笔记.pdf 031304_【第13章:Java类集】_Set接口笔记.pdf ...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    9.3 String类的最佳拍档——StringBuffer类 227 9.3.1 StringBuffer:专业操纵字符 228 9.3.2 String和StringBuffer一个都不能少 229 9.4 最熟悉的陌生人:main()方法 229 9.4.1 main()方法的参数 229 9.4.2 ...

    Java应届生面试题1.doc

    String 是不可变的,StringBuffer 和 StringBuilder 是可变的,后两个类都可以进行字符串的修改和追加操作。 二、 JSP 7. forward 和 redirect 的区别(4 分) Forward 和 redirect 都可以实现页面跳转,但是 ...

    java面试题

    Struts2只是起到一个数据接收和转接的功能,就是Controller控制器,而传来数据的页面叫view显示层,Struts2将数据提交给进行处理的类叫Model模型层,专门进行数据处理和数据库的连接。 heap和stack有什么区别? 答:...

    java实验报告.doc

    淮海工学院计算机工程学院 实验报告书 课程名:《面向对象程序设计》 实验名称: java程序设计基础 班 级: 学 号: 姓 名: 一、目的与要求 1、熟悉Java开发工具 认识J2SE开发环境,对TextPad、JCreator、NetBeans...

    Java 面试题 word文档

    14. String 和 StringBuffer 15. Serializable 16. MVC (Struts 的工作流程) 17. 什么是 MDA 18. tcp 与 udp 的区别 19. 链表与散列表和数组的区别 20. 堆和栈的区别 21. ejb 的分类及区别 22. 你对现在软件业以及...

Global site tag (gtag.js) - Google Analytics