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&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类相似。
分享到:
相关推荐
2. 编写一个名为`MyStringBufferProgram`的程序,利用StringBuffer类实现类似的操作。StringBuffer是线程安全的,适合在多线程环境中进行字符串操作。可以使用`append()`、`insert(int offset, String str)`、`...
9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4...
9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4...
9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4...
9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4...
9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4...
9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4...
9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4...
9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4...
9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4...
9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4...
9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4...
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认识一...
- StringBuilder类与StringBuffer类的对比。 #### 第十二章:JAVA IO - **File类** - File类的作用:操作文件和目录。 - File类的常用方法:createNewFile()、delete()等。 - **RandomAccessFile类** - ...
无论是Object类的基本方法,还是String类的特性,都需要开发者在实践中不断加深认识,以便在编程时能够做出更优的选择。通过这样的知识梳理,可以系统地掌握Java在Android开发中的应用,为后续学习更复杂的Android...
通过以上对Struts2基本配置与关键概念的深入解析,初学者可以建立起对Struts2框架的全面认识,为进一步学习和实践打下坚实基础。Struts2不仅是一个强大的Web开发框架,也是学习MVC模式和企业级应用开发的理想平台。
- 熟悉 StringBuffer 类的操作,包括追加、插入、查找、替换、删除等。 - 了解 StringTokenizer 类的基本用法。 - 掌握一维和二维数组的使用。 ##### 2. **字符串的比较** - **字符串比较运算符 “==” 与 ...
- StringBuilder和StringBuffer:对比String类,理解在多线程环境下为何使用StringBuilder或StringBuffer。 8. **输入/输出流** - 文件I/O:掌握File类的使用,了解如何读写文件。 - 字节流和字符流:理解...
#### 9-2 StringBuffer和StringBuilder类 - **StringBuffer/StringBuilder**:用于构建字符串。 #### 9-3 Runtime类的使用 - **Runtime类**:提供与当前运行时系统有关的方法。 #### 9-4 日期类简介 - **日期类**...