1.StringBuffer类的初始化方式及分析
/**
* StringBuffer的四种构造方法
*/
@Test
public void testThree(){
StringBuffer sb1 = new StringBuffer();//构造一个其中不带字符的字符串缓冲区(底层是数组存储),初始容量为 16 个字符
StringBuffer sb2 = new StringBuffer("abc");//构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。(如果大小未超过16,则字符串缓冲区大小还是默认16)
StringBuffer sb3 = new StringBuffer('a');//当为字符时相当于数字
StringBuffer sb4 = new StringBuffer(13);//13指定初始缓冲区大小
}
每种初始化的调试分析如下:
第一种情况sb1如下图,:
第二种情况sb2如下图,:
第三种情况sb3如下图,:
第三种情况sb3如下图,:
第四种情况同第三种
2.StringBuffer类的常用方法:
- toString():转换为字符串
- append():字符串追加,原来的字符串也会改变(和String不同)
- insert(int index,” ” ):该方法的作用是在StringBuffer对象中index前插入内容,然后形成新的字符串
举例代码如下:
/**
* sb.toString():转换为字符串
*/
@Test
public void testOne(){
StringBuffer sb = new StringBuffer("abc");
System.out.println(sb.toString());//abc
}
/**
* indexOf():同String,返回字符或字符串的索引位置
*/
@Test
public void testTwo(){
StringBuffer sb = new StringBuffer("123,4567");
System.out.println(sb.indexOf(","));//3
}
/**
* append(参数可以各种类型):追加字符串,追加后原先的也改变了;(和String不同)
*
*/
@Test
public void testFour(){
StringBuffer sb = new StringBuffer("aa");
StringBuffer sb1 = sb.append("bb");
StringBuffer sb2 = sb.append(12.3);
System.out.println(sb);//aabb12.3
System.out.println(sb1);//aabb12.3
System.out.println(sb2);//aabb12.3
}
/**
* insert(int index, ""):
* 该方法的作用是在StringBuffer对象中index前插入内容,然后形成新的字符串
*/
@Test
public void testFive(){
StringBuffer sb = new StringBuffer("aa");
StringBuffer sb1 = sb.insert(0, ",");
System.out.println(sb);//,aa
StringBuffer sb2 = sb.insert(2, ".");
System.out.println(sb2);//,a.a
}