A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 雪碧拌米饭 中级黑马   /  2014-4-23 08:56  /  1642 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 雪碧拌米饭 于 2014-4-28 13:51 编辑

问StringBuilderStringBufer的作用及区别?

8 个回复

倒序浏览
是  StringBuilder和StringBuffer吧楼主 如果是就看一下吧 这是日记总结你看看就知道了

StringBuffer:可改变的Unicode字符序列。
        允许并发操作,是线程安全的。
        String类在进行字符串连接时会显得效率很低,就是因为它所产生的对象的属性是不能够修改的,当连接字符串时也就只能创建新的对象。
        对于很多字符串连接时,应当使用StringBuffer类,使用这个类的对象来进行字符串连接时就不会有多余的中间对象生成,从而优化了效率。
        例:对于字符串连接String str = “A” + “B” + “C” + “D”;
        产生:“AB”、“ABC”、“ABCD”。
        在串池中产生的“AB”、“ABC”明显是多余对象,浪费空间。
        解决方案:
        String s = null;
        StringBuffer sb = new StringBuffer(“A”);
        sb.append(“B”);
        sb.append(“C”);
        sb.append(“D”);
        s = sb.toString();
        StringBulder:可改变的Unicode字符序列。
        操作同StringBuffer,只是不支持并发操作,非线程安全的。

其实就是很简单StringBuffer非线程安全,也就是说效率相对高,在单线程的时候使用
StringBulder线程安全的 效率低 在多线程时候使用比较安全.
回复 使用道具 举报
大的区别没有,唯一的区别就是一个是线程同步(StringBufer),一个是不同步(StringBuilder)
回复 使用道具 举报
demown 发表于 2014-4-23 09:08
是  StringBuilder和StringBuffer吧楼主 如果是就看一下吧 这是日记总结你看看就知道了

StringBuffer:可 ...

明白了!感谢!
回复 使用道具 举报
1.在执行速度方面的比较:StringBuilder >  StringBuffer   

2.StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String一样创建一些对象进行操作,所以速度就快了。

3.StringBuilder:线程非安全的
  StringBuffer:线程安全的
使用注意:
单线程操作字符串缓冲区 下操作大量数据  StringBuilder
多线程操作字符串缓冲区 下操作大量数据  StringBuffer

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
StringBuffer:是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象它只能通过构造函数来建立
回复 使用道具 举报
stringBuilder很不错的,完全可以替代string,最主要的是它的效率高StringBuffer:是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象它只能通过构造函数来建立
回复 使用道具 举报
東少 中级黑马 2014-4-23 13:53:51
8#
两者在功能上都完全一样 只是StringBuilder是线程不安全的 StringBuffer是线程安全的
StringBuilder性能比StringBuffer高
在单线程应用中推荐使用StringBuilder, StringBuffer使用于多线程环境中
回复 使用道具 举报
JDK1.5 版本之后出现了StringBuilder.替代了之前的StringBuffer主要是为了提高效率
StringBuffer是线程同步。 多线程建议使用。如果线程有的在添加数据,有的在修改数据,建议使用StringBuffer
StringBuilder是线程不同步。 单线程建议使用。如果使用StringBuffer的话,要频繁判断锁,所以效率低。

以后开发,建议使用StringBuilder


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马