day15 Java 常用类 StringBuffer类
文章目录
- 一、构造方法
- 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类相关推荐
- Java 常用对象-StringBuffer类
2017-11-02 20:57:02 StringBuffer:线程安全的可变字符序列.一个类似于 String 的字符串缓冲区,但不能修改.虽然在任意时间点上它都包含某种特定的字符序列,但通过某些 ...
- java.util类,GitHub - yutaolian/JavaUtils: 总结的一些Java常用的util类
JavaUtils 总结的一些Java常用的util类 ###1.格式化时间 SimpleDateFormat(DateFormat)实现线程安全的使用 众所周知SimpleDateFormat(Da ...
- Java常用接口与类——String类、StringBuffer类、StringBuilder类
>String的构造方式 //这两种方式字符串的值是相同的,但在内存中的地址不同: //s1是在常量池中,常量池中有一个hello,同一常量只会放入一次: String s1="hel ...
- JAVASE学习笔记 Java中的常用类--StringBuffer类、StringBuilder类
1.StringBuffer类概述 在Java中我们如果对字符串进行拼接操作,每次拼接都能构建一个新的String对象,这样操作既费时有浪费时间,StringBuffer类就能解决这个问题. Stri ...
- Java - 常用类 - StringBuffer类
文章目录 StringBuffer类基本介绍 String VS StringBuffer StringBuffer的构造器 StringBuffer <=> String 相互转换 St ...
- stringbuffer java API_JAVA-基础-常用API(StringBuffer类,正则表达式)
字符串缓冲区 StringBuffer类 查阅StringBuffer的API,StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列 ...
- [JAVA基础类库] String类 ○ StringBuffer类 ○ StringBuilder类
引言 字符串就是一连串的字符序列,Java提供了String.StringBuffer和StringBuilder三个类来封装对字符串,并提供了系列方法来操作字符串对象. String类是不可变类的: ...
- java.lang包—StringBuffer类和StringBuilder类
目录 一.数据结构 二.线程安全性分析 三.源码 四.适用场景 一.数据结构 在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串.String 类是不可变类,即一旦一 ...
- java常用文件工具类
java常用工具类(一) 主要是Java操作文件及及IO流的一些常用库,是Apache对java的IO包的封装,这里面文件类工具有两个非常核心的类FilenameUtils跟FileUtils,IO流 ...
最新文章
- mysql 多表查询练习题_mysql多表查询练习
- Linux内核源码树建立加载hello模块
- 将模板方法模式应用到kmeans聚类算法
- MySQL入门 (七) : 储存引擎与资料型态
- 英特尔加入 GPU 战局,终用上 6nm 工艺?
- 利用Bootstrap Paginator插件和KnockoutJS完成分页功能
- 虚拟内存和swap分区的关系
- mysql的粗略学习
- MT8665原理图芯片资料介绍
- MySQL事务四大特性以及如何保证
- latex中插入两张子图片
- 分区助手各版本比较(图文详解)
- 网络安全——sql注入判断
- 2017年6月大学英语六级真题(第一套)汉译英(每日一摸)
- cocos2dx项目接入爱贝第三方支付sdk遇到的问题及解决方案
- 使用运动控制卡,卡顿、蓝屏了怎么办?优易控提供更高级的解决方案
- halfstone 原理_逻辑分析仪原理及其参数介绍
- html2canvas 前端截图工具 iOS15 中截图空白
- 甲骨文30亿美元收购绩效管理软件商海波龙
- 欧姆龙变频器BRK(制动释放信号)调试