java学习日记20230405-StringBuffer类
StringBuffer类
- java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删
- 很多方法与String相同,但StringBuffer是可变长度的
- StringBuffer是一个容器
- StringBuffer是final类
- 实现了Serializable接口,可以保存到文件或网络传输
- 继承了抽象类AbstractStringBuider
- AbstractStringBuider属性char[] value,存放字符序列,不是final类型,因此存放在堆中
String和StringBuffer的区别:
- String保存的是字符串常量,里面的值不能更改,每次String类的更新实际上就是更改地址,效率较低/final char value[]
- StringBuffer保存的是字符串变量,里面的值可以更改,每次StringBuffer的更新实际上可以更新内容,不用每次更新地址,效率较高/char[] value
- StringBuffer常用的构造器:
- 默认无参数构造器,默认长度16,char数组value
- 通过构造器指定大小StringBuffer(100);
- 通过String创建StringBuffer,大小为String.length+16
StringBuffer和String转化
public class StringBuffer01 { public static void main(String[] args) { //方式一,通过构造器 String str = "Hello Tom"; StringBuffer stringBuffer = new StringBuffer(str); System.out.println(stringBuffer); //方式二,通过append() stringBuffer.append(str); System.out.println(stringBuffer); //StringBuffer---String //方式一通过toString(); String ss = stringBuffer.toString(); System.out.println(ss); //方式二使用构造器 String s1 = new String(stringBuffer); System.out.println("{}"+s1); } }
- StringBuffer常用方法:
- append
- delete(start,end)
- repalce(start,end,String)将start到end间的内容替换掉,不含end
- indexof查找子串在字符串第一次出现索引,如果没有返回-1
- insert
- 获取长度length
StringBuffer常用方法示例
public class StringBufferMethod { public static void main(String[] args) { StringBuffer s = new StringBuffer("hello"); s.append(",张三丰"); s.append(",赵敏").append(100); System.out.println(s); s.delete(1,5); System.out.println(s); s.replace(0,2,"hello,"); System.out.println(s); System.out.println(s.indexOf("张三丰")); System.out.println(s.insert(0,"测试")); System.out.println(s.length()); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器