append() 和 insert()

相同点: append() 和 insert() 方法都可以用于向字符缓冲区中添加任意类型的数据

不同点: append() 方法仅能将数据添加到字符缓冲区的末尾;

     insert() 方法可以向字符缓冲区中指定位置添加数据;

StringBuffer sb=new StringBuffer();
int a1=100;
char ch1='日';
String str1="冲刺,决胜高考!";
sb.append(a1).append(ch1).append(str1);
System.err.println(sb);int a2=2;
char ch2='+';
String str2="天考试";
sb.insert(6, ch2).insert(7, a2).insert(8, str2);
sb.insert(16, ",幸福一生");
System.err.println(sb);输出结果:
100日冲刺,决胜高考!
100日冲刺+2天考试,决胜高考,幸福一生!

deleteCharAt() 和 delete(a,b)

deleteCharAt() 用于删除 StringBuffer 对象中指定位置的字符 (一个字符)

delete(a,b) 用于删除 StringBuffer 对象中指定范围的字符或字符串序列 (范围为:[a,b),该范围为一个半开半闭区间);因为字符串的索引为非负数,所以0 <= a,b <= 字符串长度-1,否则程序运行后会报字符串索引越界异常:StringIndexOutOfBoundsException

StringBuffer sb=new StringBuffer("100日冲刺,决胜高考!");
sb.deleteCharAt(2);
System.err.println(sb);
sb.delete(2, 3);
System.err.println(sb);
sb.delete(7, 1000);
System.err.println(sb);
sb.delete(-1, 1);  //StringIndexOutOfBoundsException
System.err.println(sb);输出结果:
10日冲刺,决胜高考!
10冲刺,决胜高考!
10冲刺,决胜
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1

setCharAt() 和 replace()

setCharAt() 用一个字符替换 StringBuffer 对象中指定位置的一个字符

replace() 用一个字符串替换 StringBuffer 对象中指定范围的字符 或 字符串序列

StringBuffer sb=new StringBuffer("100日冲刺,决胜高考!");
sb.setCharAt(3,'天');
System.err.println(sb);
sb.replace(7, 10, "圆了清华梦");
System.err.println(sb);输出结果:
100天冲刺,决胜高考!
100天冲刺,圆了清华梦考!

reverse() 对字符串进行取反操作

StringBuffer sb=new StringBuffer("我爱你");
sb.reverse();
System.err.println(sb);输出结果:
你爱我

toString()

toString() 方法是 String 类内部定义的方法,常用于返回 StringBuffer 对象的字符串格式

StringBuffer sb=new StringBuffer();
List<Object> list=new ArrayList<Object>();
list.add(100);
list.add('日');
list.add("冲刺,决胜高考!");
for(Object obj:list){sb.append(obj);
}
String str=sb.toString();
System.err.println(sb);输出结果:
100日冲刺,决胜高考!

StringBuffer类的常用方法相关推荐

  1. java 调用弗雷_JAVA API(一)String类和StringBuffer类

    1.String类和StringBuffer类 在程序中经常会用到字符串,所谓的字符串就是指一连串的字符,它是由多个单个字符连接而成的.字符串中可以包含任意字符,这些字符必须包含在一对双引号" ...

  2. JAVA的StringBuffer类

    StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存 ...

  3. JAVA API-----String类和StringBuffer类

    String类和StringBuffer类主要用来处理字符串,这两个类提供了很多字符串的使用处理方法.String类是不可变类,表示对象所包含的字符串类不能改变.StringBuffer类是可变类,其 ...

  4. [JAVA基础类库] String类 ○ StringBuffer类 ○ StringBuilder类

    引言 字符串就是一连串的字符序列,Java提供了String.StringBuffer和StringBuilder三个类来封装对字符串,并提供了系列方法来操作字符串对象. String类是不可变类的: ...

  5. Java基础(三十四)String、StringBuffer类和数据缓冲区Buffer类

    一.String类 1.创建字符串对象 创建字符串对象有两种方法:直接用"="或者使用"new String(...)" String aStr = " ...

  6. Java StringBuffer类

    如果经常需要对一个字符串进行修改,例如插入.删除.拼接等操作,使用SringBuffer更加合适,因为StringBuffer在进行字符串处理是不生成新的对象,在内存上由于String类. Strin ...

  7. JAVA的StringBuffer类详解

    JAVA的StringBuffer类详解 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer ...

  8. Java基础——数组应用之StringBuilder类和StringBuffer类

    接上文:Java基础--数组应用之字符串String类 一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和 ...

  9. 11.1.1 认识StringBuffer类(1)

    第11章 Java常用类库 通过本章的学习可以达到以下目标: 掌握String与StringBuffer的区别,可以熟练使用StringBuffer中的各种方法进行相关操作. 能够自己编写一个得到日期 ...

最新文章

  1. 为机柜鸣冤:数据中心被忽视的重要设备
  2. 《solidity学习笔记》chapter 3-solidity其他知识
  3. c# asp.net core取当月第一天和最后一天及删除最后一个字符的多种方法
  4. 【opencv】15.H265Decoder解码h265为cv::Mat完整代码
  5. vs code 开发企业级python_基于VS Code配置Python开发环境
  6. 数据结构(十七)最小生成树
  7. PSD分层模板|解析垂直化内容电商页面设计
  8. 王者荣耀服务器维护中有什么漏洞,王者荣耀:排位惊现漏洞,利用这个BUG一天上王者,三天登荣耀...
  9. 转:运行yum报错Error: Cannot retrieve metalink for reposit
  10. 从入坑到入门 | 龙蜥开发者说第2期
  11. java multibox_月光软件站 - 编程文档 - Java - Struts 中 Multibox 的用法
  12. 手机论文查重软件哪个好?
  13. 雨课堂《工程伦理》期末答案
  14. C语言系列(5) --- C语言文件的操作
  15. 一句话讲清种子轮、天使轮、ABC轮的区别
  16. SQLServer数据库设置主键和主键自增
  17. 创业生活经历:我的非洲回忆录
  18. # Sql语句过长报错、查询慢优化方案探索
  19. html5图片邀请函,html5,邀请函.doc
  20. try 和 catch 用法

热门文章

  1. 统计学习方法基础总结
  2. git新建分支并且在切换分支开发
  3. 监听器第一篇【基本概念、Servlet各个监听器】
  4. Java的native方法
  5. 11月8日PHP练习《留言板》
  6. 绑定任意格式的XML文档到WPF的TreeView
  7. Mr.J-- HTTP学习笔记(八)-- 网关
  8. POCO C++库导游【转】
  9. cmd sc命令进行服务操作
  10. 10分钟教你用VS2017将代码上传到GitHub