文章目录

  • 一、构造方法
    • 1.1 StringBuffer()
    • 1.2 StringBuffer(int capacity)
    • 1.3 StringBuffer(String str)
  • 二、StringBuffer 类的常用功能
    • 2.1 public StringBuffer append()
    • 2.2 public StringBuffer insert(int offset,String str)
    • 2.3 public StringBuffer deleteCharAt(int index)
    • 2.4 public StringBuffer delete(int start,int end)
    • 2.5 public StringBuffer replace(int start,int end,String str)
    • 2.6 public StringBuffer reverse()
    • 2.7 String substring(int start)
    • 2.8 String substring(int start)

在我最最难过的时候
给我温暖的眼神

字符串缓冲区:
存在缓冲区的可变字符串,默认缓冲容量为16字符
线程安全。代表着有同步操作出现时,数据是安全的,但效率不高
生活中哪些是线程安全的案例:
线程安全:银行业务,售票
不是安全问题的,效率高的:博客,视频会员

同 String 的区别
1、StringBuffer 的长度和内容是可变的,String 不可变
2、StringBuffer 会在堆内存中开辟一个缓冲区空间,每次改变会在缓冲区内进行,
      而不会再次为其开辟空间
      String 每创建新的字符串都会开辟新的空间

一、构造方法

1.1 StringBuffer()

创造初识无字符的字符串缓冲区,默认初始容量为16个字符

StringBuffer sb = new StringBuffer();
int capacity = sb.capacity();      //  查看初始容量
System.out.println(capacity);       //  16

1.2 StringBuffer(int capacity)

创造初识无字符的字符串缓冲区,并指定初识容量

StringBuffer sb = new StringBuffer(50);
int capacity = sb.capacity();      //  查看初始容量
System.out.println(capacity);       //  50

1.3 StringBuffer(String str)

创造指定初识字符的字符串缓冲区

StringBuffer sb = new StringBuffer(“fgh”);
System.out.pringln(sb);     //  fgh
int capacity = sb.capacity();      //初始容量
System.out.println(capacity);       //19  16+3
//  bcd + 3

二、StringBuffer 类的常用功能

2.1 public StringBuffer append()

可以把任意类型的数据添加到字符串缓冲区中
返回的是当前字符串缓冲区本身

StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer("fgh");
sb1.append(sb2).append(8).append('韭').append("菜盒子");
System.out.println(sb1);        //  fgh8韭菜盒子

2.2 public StringBuffer insert(int offset,String str)

在指定的索引 offset 上,插入字符串

返回的是当前字符串缓冲区本身

StringBuffer sb3 = new StringBuffer("fgh韭菜盒子");
sb1.insert(3,"qwy");
System.out.println(sb1);        //  fghqwy韭菜盒子

2.3 public StringBuffer deleteCharAt(int index)

删除指定索引位置 index 的字符
返回的是当前字符串缓冲区本身

StringBuffer sb3 = new StringBuffer("fgh1韭菜盒子");
sb3.deleteCharAt(3);
System.out.println(sb3);        //  fgh韭菜盒子

2.4 public StringBuffer delete(int start,int end)

删除指定索引位置 start 至 end 的字符串内容
左闭右开 [ start, end )
返回的是当前字符串缓冲区本身
如果 start 等于 end ,则不作任何更改

StringBuffer sb4 =new StringBuffer("fgh123韭菜盒子");
sb4.delete(3,6);
System.out.println(sb4);        //  fgh韭菜盒子

2.5 public StringBuffer replace(int start,int end,String str)

以字符串替换指定索引位置 start 至 end 的字符串内容
左闭右开 [ start, end )
返回的是当前字符串缓冲区本身
如果 start 等于 end ,则相当于插入
如果需要,此序列将被延长以容纳指定的字符串

StringBuffer sb5 =new StringBuffer("fgh123韭菜盒子");
sb5.replace(3,6,"fgh");
System.out.println(sb5);        //  fghfgh韭菜盒子
sb5.replace(3,3,"123");
System.out.println(sb5);        //  fgh123fgh韭菜盒子

2.6 public StringBuffer reverse()

字符串反转
左闭右开 [ start, end )
返回的是当前字符串缓冲区本身

StringBuffer sb6 = new StringBuffer("fgh韭菜盒子");
sb6.reverse();
System.out.println(sb6);        //  子盒菜韭hgf

2.7 String substring(int start)

截取功能,将索引 start 处至之后的字符串内容截取至一个新的 String 中
返回的是一个新字符串

StringBuffer sb7 = new StringBuffer("fgh韭菜盒子");
String s1 = sb7.substring(3);
System.out.println(s1);     //  韭菜盒子

2.8 String substring(int start)

截取功能,将索引 start 处至索引 end 之前的字符串内容截取至一个新的 String 中
左闭右开 [ start, end )
返回的是一个新字符串

StringBuffer sb8 = new StringBuffer("fgh韭菜盒子");
String s2 = sb8.substring(3,6);
System.out.println(s2);     //  韭菜盒

day15 Java 常用类 StringBuffer类相关推荐

  1. Java 常用对象-StringBuffer类

    2017-11-02 20:57:02 StringBuffer:线程安全的可变字符序列.一个类似于 String 的字符串缓冲区,但不能修改.虽然在任意时间点上它都包含某种特定的字符序列,但通过某些 ...

  2. java.util类,GitHub - yutaolian/JavaUtils: 总结的一些Java常用的util类

    JavaUtils 总结的一些Java常用的util类 ###1.格式化时间 SimpleDateFormat(DateFormat)实现线程安全的使用 众所周知SimpleDateFormat(Da ...

  3. Java常用接口与类——String类、StringBuffer类、StringBuilder类

    >String的构造方式 //这两种方式字符串的值是相同的,但在内存中的地址不同: //s1是在常量池中,常量池中有一个hello,同一常量只会放入一次: String s1="hel ...

  4. JAVASE学习笔记 Java中的常用类--StringBuffer类、StringBuilder类

    1.StringBuffer类概述 在Java中我们如果对字符串进行拼接操作,每次拼接都能构建一个新的String对象,这样操作既费时有浪费时间,StringBuffer类就能解决这个问题. Stri ...

  5. Java - 常用类 - StringBuffer类

    文章目录 StringBuffer类基本介绍 String VS StringBuffer StringBuffer的构造器 StringBuffer <=> String 相互转换 St ...

  6. stringbuffer java API_JAVA-基础-常用API(StringBuffer类,正则表达式)

    字符串缓冲区 StringBuffer类 查阅StringBuffer的API,StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列 ...

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

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

  8. java.lang包—StringBuffer类和StringBuilder类

    目录 一.数据结构 二.线程安全性分析 三.源码 四.适用场景 一.数据结构 在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串.String 类是不可变类,即一旦一 ...

  9. java常用文件工具类

    java常用工具类(一) 主要是Java操作文件及及IO流的一些常用库,是Apache对java的IO包的封装,这里面文件类工具有两个非常核心的类FilenameUtils跟FileUtils,IO流 ...

最新文章

  1. mysql 多表查询练习题_mysql多表查询练习
  2. Linux内核源码树建立加载hello模块
  3. 将模板方法模式应用到kmeans聚类算法
  4. MySQL入门 (七) : 储存引擎与资料型态
  5. 英特尔加入 GPU 战局,终用上 6nm 工艺?
  6. 利用Bootstrap Paginator插件和KnockoutJS完成分页功能
  7. 虚拟内存和swap分区的关系
  8. mysql的粗略学习
  9. MT8665原理图芯片资料介绍
  10. MySQL事务四大特性以及如何保证
  11. latex中插入两张子图片
  12. 分区助手各版本比较(图文详解)
  13. 网络安全——sql注入判断
  14. 2017年6月大学英语六级真题(第一套)汉译英(每日一摸)
  15. cocos2dx项目接入爱贝第三方支付sdk遇到的问题及解决方案
  16. 使用运动控制卡,卡顿、蓝屏了怎么办?优易控提供更高级的解决方案
  17. halfstone 原理_逻辑分析仪原理及其参数介绍
  18. html2canvas 前端截图工具 iOS15 中截图空白
  19. 甲骨文30亿美元收购绩效管理软件商海波龙
  20. 欧姆龙变频器BRK(制动释放信号)调试

热门文章

  1. GsyVideoPlayer视频分析使用
  2. 《Fabric 的精简版白皮书》解读
  3. 从μC/OS-II到μC/OS-III的各种改进
  4. BootStra相关脚本引用说明
  5. root大师电脑版 v1.7.6.6640 官网最新版
  6. 欧尼酱讲JVM(09)——虚拟机栈-变量槽slot
  7. 安卓开发开发规范手册V1.0
  8. 最新论文降重 web/python/exe版本
  9. 网络新宠儿EyeOS和YouOS Web版操作系统
  10. GO_strings.Reader