首页 > 其他 > 详细

String、StringBuffer、StringBuilder的区别

时间:2020-04-22 14:14:31      阅读:68      评论:0      收藏:0      [点我收藏+]

相同点:String、StringBuffer、StringBuilder都是用来代表字符串的,StringBuffer、StringBuilder在使用上基本相同。

不同点:String是不可变的,即每次修改都会创建新的对象。

               StringBuffer是可变的,他每次修改不会创建新对象,是(synchronized)线程安全的,StringBuffer运行速度要比StringBuilder慢,支持并发,适用多线程。

               StringBuilder是可变的,他每次修改不会创建新对象,但是是线程不安全的,StringBuilder运行速度要比StringBuffer快,不支持并发,适用单线程。

 

方法:由于StringBuffer、StringBuilder使用上基本相同方法也基本一样

   创建StringBuffer s = new StringBuffer();对象

   创建缓冲区:StringBuffer s1 = new StringBuffer(256);

   在缓冲区中写入: StringBuffer s2 = new StringBuffer("Hello,word");

1.public StringBuffer append(String s);等参数

   s2.append(",abc");//在s2对象后追加    “,abc”

   输出结果为:Hello,word,abc

   此方法多用于数据库的SQL语句的拼接

2.public StringBuffer insert(int offset, String str);等参数

   s2.insert(5,",abc");//在下标为5的地方插入   “,abc”   ;

   输出结果为:Hello,abc,word

3.public StringBuffer reverse(); 

  StringBuffer sb=new StringBuffer("ab");

   sb.reverse();//此方法是将s2中的内容进行倒序反转;

   输出结果为:ba

4.public void setCharAt(int index, char c);

   StringBuffer sb=new StringBuffer("abcd");

   sb.setCharAt(3,"C");//将sb中的下标为2的内容替换成  “C”;

   输出结果为:abcC

5.public StringBuffer deleteCharAt(int  index);

     StringBuffer sb=new StringBuffer("abc");

     sb.deleteCharAt(2);//删除指定下标的内容

     输出结果为:ab

 和 public StringBuffer delete(int  start, int end);

      StringBuffer sb=new StringBuffer("abcdef");

       sb.delete(2, 4);//删除下标从2到4之间的内容,包含start(即包含下标2),不包含end(不包含下标4);

       输出结果为:abef;

6.length();方法是获取字符串的长度;

7.setlength(int  length);方法是设置字符串的长度大小,超出设置长度的字符将丢失;

8.capacity();方法是获取字符串的容量,结果为int 类型;ensureCapacity(); 方法重新设置字符串的容量;

9.getChars(int start, int  end, Char ch[], int  charStart);   方法是将截取后的字符串放入到数组中,

    StringBuffer sb = new StringBuffer("abcdefg"); 

    char[]  c=new  char[4];

     sb.get(0,4,c,0);

     输出结果数组c为:abcd

10.trimToSize();  方法是整理空间,将StringBuffer对象的空间缩小到与字符串长度相同,以节省空间。

 

String、StringBuffer、StringBuilder的区别

原文:https://www.cnblogs.com/wangdiqu/p/12751477.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!