1.StringBuffer类:用于对字符串的操作,当字符串多次需要修改时,则使用StringBuffered。
StringBuffer可以对字符串内容进行修改。
StringBuffer是字符串缓冲区
StringBuffer是一个容器。
案例:
public class StringBuffer_test2 {
/**
* StringBuffer类主要方法的使用
*/
public static void main(String[] args) {
//创建可变字符串
StringBuffer s;
String s1="djkkjsasahhcak";
s=new StringBuffer(s1);
//StringBuffer转换为String
s1=s.toString();
//StringBuffer的常用方法
//append方法该方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接。
//调用该方法以后,StringBuffer对象的内容也发生改变,例如:
s.append("flase");
s.append(true);
System.out.println(s);
StringBuffer ss=new StringBuffer();
String s2="test";
String s3="123";
ss.append("select*form userInfo where username=")
.append(s2).append(" and password=").append(s3);
System.out.println(ss);
//deleteCharAt方法:该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字符串。
StringBuffer ss1=new StringBuffer("test");
ss1.deleteCharAt(1);
ss1.delete(1, 3);
System.out.println(ss1);
//insert方法 :该方法的作用是在StringBuffer对象中插入内容,然后形成新的字符串。例如:
System.out.println(ss1.insert(0, false));
//reverse方法:该方法的作用是将StringBuffer对象中的内容反转,然后形成新的字符串
System.out.println(ss1.reverse());
System.out.println(ss1.replace(1, 3, "ks"));//插入加反转
//setCharAt方法:该方法的作用是修改对象中索引值为index位置的字符为新的字符ch。
ss1.setCharAt(ss1.indexOf("a"), 'k');
ss1.replace(0, 1, "12");
System.out.println(ss1);
ss1.replace(0, 3, "12");
System.out.println(ss1);
//trimToSize方法
// 该方法的作用是将StringBuffer对象的中存储空间缩小到和字符串长度一样的长度,减少空间的浪费。
String s22=ss1.toString();
ss1.trimToSize();
System.out.println(ss1);
System.out.println(ss1.reverse());//将字符串反转
//
}
}
StringBuffered和StringBuiled的区别:
StingBuffer的话,线程不同步,是线程安全的,而StringBuilder线程同步,是非线程安全的,对于作用相同,线程安全的肯定速度上就没有不安全的快,一般情况下,我们对于数据不是很多的,大概不会引发数据并发的,就使用StringBuilder来做,这是为了提高效率,而StringBuilder 的话,我们一般在大量数据使用,不会有线程不安全的情况,比较安全。