link
1、StringBuffer对象的初始化
- StringBuffer对象的初始化一般通过构造函数进行。
- StringBuffer s = new StringBuffer();//创建空对象
- StringBuffer s = new StringBuffer(“abc”);//创建带有内容的对象
- StringBuffer和String没有继承的关系,属于不同的类型,不能进行强制转换,以下例子是错误的:
- StringBuffer s = “abc”;//赋值类型不匹配
- StringBuffer s = (StringBuffer)”abc”;//不存在继承关系,无法进行强转
- StringBuffer和String互转的代码如下:
- String s = "abc";
- StringBuffer sb1 = new StringBuffer("123");
- StringBuffer sb2 = new StringBuffer(s);//String转换成StringBuffer;
- String s1 = sb1.toString();
StringBuffer类中的方法主要用于对字符串的变化,如追加、插入和删除等。
- append方法:追加内容到当前的StringBuffer对象末尾类似于字符串的连接。调用该方法后,StringBuffer对象的内容也发生改变。使用该方法连接字符串比String节省内存。
- StringBuffer sb = new StringBuffer("zyy");
sb.append("_5");
System.out.println(sb);
运行结果:zyytrue_5
- StringBuffer sb = new StringBuffer();
运行结果:select * from userInfo where username = test and pwd = 123
对象sb的值就是字符串“select * from userInfo where username = test and pwd = 123”
- deleteCharAt方法:删除指定位置的字符,将剩余的内容形成新的字符串。
- StringBuffer sb = new StringBuffer("HelloWorld");
sb.deleteCharAt(0); //删除字符串对象sb中索引值为0,即第一个字符,剩余内容形成新字符串sb
System.out.println(sb);
运行结果:elloWorld
- delete方法:删除指定区间以内的所有字符,包含start,不包含end索引值的区间
- StringBuffer sb = new StringBuffer("TestString");
sb.delete(1,7);//删除字符串对象sb索引值1(包括)到索引值7(不包括)之间所有的字符,剩余字符形成新字符串sb
System.out.println(sb);
运行结果:Ting
- insert方法:在当前StringBuffer对象中插入新的字符,形成新的字符串
- StringBuffer sb = new StringBuffer("TestString");
sb.insert(4, "_false_");//在索引值4的位置插入“_false_”值,形成新的字符串
System.out.println(sb);
运行结果:Test_false_String
- reverse方法:将StringBuffer对象中的内容反转,形成新的字符串
- StringBuffer sb = new StringBuffer("zyy");
sb.reverse();
System.out.println(sb);
运行结果:yyz
- setCharAt方法:将对象中索引值为index位置的字符修改为新字符
- StringBuffer sb = new StringBuffer("hyy");
sb.setCharAt(0,'z');//修改索引值为0的位置的字符‘h’为新字符‘z’
System.out.println(sb);
运行结果:zyy
- trimToSize方法:将StringBuffer对象的中存储空间缩小到和字符串长度一样的长度,减少空间的浪费。