特点: StringBuffer是线程安全、同步的、效率低,是一个可变的字符序列且内容可以被修改。可以指定其容量的大小,默认容量不足时则可以自动增加容量。 常用方法表:
方法具体操作代码:
public class StringBufferTest { StringBuffer stringBuffer=new StringBuffer(); /** * 字符串连接 * */ @Test public void test1(){ stringBuffer.append("hello "); stringBuffer.append("world").append("!!!"); stringBuffer.append("\n"); stringBuffer.append("数字=").append(1); System.out.println(stringBuffer); } /** * 任意位置为StingBuffer添加内容 * */ @Test public void test2(){ stringBuffer.append("world"); stringBuffer.insert(0,"hello ");//在一个内容前加 System.out.println(stringBuffer); stringBuffer.insert(stringBuffer.length(),"!!!");//在末尾加 System.out.println(stringBuffer); } /** * 字符串反转 * */ @Test public void test3(){ stringBuffer.append("world"); stringBuffer.insert(0,"hello "); String string=stringBuffer.reverse().toString();//反转后变成String类型 System.out.println(string); } /** * 替换指定范围的内容 * */ @Test public void test4(){ stringBuffer.append("hello "); stringBuffer.append("world").append("!!!"); stringBuffer.replace(6,11,"zzz"); System.out.println(stringBuffer); } /** * 字符串截取 * */ @Test public void test5(){ stringBuffer.append("hello "); stringBuffer.append("world").append("!!!"); stringBuffer.replace(6,11,"zhangsan"); String string=stringBuffer.substring(6,15); System.out.println(string); } /** * 删除指定范围的字符串 * */ @Test public void test6(){ stringBuffer.append("hello "); stringBuffer.append("world").append("!!!"); String string=stringBuffer.delete(6,11).toString(); System.out.println(string); } /** * 查指定的内容是否存在 * */ @Test public void test7(){ stringBuffer.append("hello "); stringBuffer.append("world").append("!!!"); if (stringBuffer.indexOf("hello")==1){ System.out.println("查到"); }else { System.out.println("没查到"); } } /** * 解释String 与 StringBuffer 不同 * */ @Test public void test8(){ String string="Hello World"; string+="!"; System.out.println(string); //感觉是字符串变长 实际上是得到一个新的字符串 //不是把原来引用指向的堆空间的字符变多了,而是创建了新的对象"!",将引用指向了新的对象。原来的对象变成了垃圾 } }