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()); } }
标签:java,String,StringBuffer,20230405,System,println,append,out From: https://www.cnblogs.com/DragonJack/p/17288010.html