StringBuffer和StringBuilder

来源:互联网 发布:吃肉 知乎 编辑:程序博客网 时间:2024/06/11 05:30

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

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 的话,我们一般在大量数据使用,不会有线程不安全的情况,比较安全。

0 0