StringBuffer
- buffer是缓冲区的意思
- String字符串一旦初始化,不能被改变。
- StringBuffer可以用于对字符串进行修改。
- StringBuffer是字符串缓冲区,是一个容器。
- 特点:1、长度可以变化。2、可以直接操作多个数据类型。3、最终会通过toString方法变成字符串。
- 容器所具备的功能:增删改查CURD(create,update,read,delete)
StringBuffer常用方法
存储
- StringBuffer append();将指定数据作为参数添加到已有数据结尾处,返回原StringBuffer对象。
public class StringBufferDemo{ public static void method_append(){ StringBuffer sb=new StringBuffer(); StringBuffer sb1=sb.append(34); System.out.println("sb==sb1:"+(sb==sb1));//sb==sb1:true,说明是同一个对象 System.out.println(sb.toString());//34 System.out.println(sb.toString());//34 //所以可以像这样写代码 sb.append("abc").append(true).append(34); //abctrue34,append在末尾处添加 } }
- StringBuffer insert(index,数据);将指定数据作为参数添加到已有数据指定index位置,返回原StringBuffer对象。
public static void method_insert(){ StringBuffer sb=new StringBuffer(); sb.append("abc").append(true).append(34); sb.insert(1,"qq"); System.out.println(sb.toString()); //aqqbctrue34 }
删除
- StringBuffer delete(start,end):删除缓冲区中的数据。
- StringBuffer deleteCharAt(index):删除指定位置的字符。
public static void method_delete(){ StringBuffer sb=new StringBuffer("abcde"); //sb.delete(1,3);//ade //清空缓冲区 //sb.delete(0,sb.length()); sb.deleteCharAt(2);//abde }
- 获取
- char charAt(int index):获取指定位置字符
- int indexof(String str):指定字符串第一次出现的位置
- int lastIndexOf(String str):指定字符串最后一次出现的位置
- int length():容器长度
- String substring(int start,int end):截取start到end位置的子串,返回类型为String
修改
- StringBuffer replace(int start,int end,String str):替换从start到end的字符串为str
- void setCharAt(int index,char ch):替换指定位置字符为ch,没有返回值
public static void method_update(){ StringBuffer sb=new StringBuffer("abcde"); //sb.replace(1,4,"java");//ajavae sb.setCharAt(2,'k');//abkde }
- 反转
StringBuffer reverse()
StringBuilder
- 在JDK1.5之后出现了StringBuilder,为了提高效率。
- StringBuffer是线程同步的,效率低。
- StringBuilder是线程不同步的,效率高。
版权声明:本文为qq_36084640原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。