黑马程序员技术交流社区
标题:
stringBudeul和stringbuffere区别
[打印本页]
作者:
e644638045
时间:
2014-7-15 15:01
标题:
stringBudeul和stringbuffere区别
帮我回答下!!!!
作者:
SLJ_920808
时间:
2014-7-15 15:16
本帖最后由 SLJ_920808 于 2014-7-15 15:21 编辑
是不是应该是StringBuffer和StringBuilder 的区别 ?
StringBuffer(线程安全) 和StringBuilder(非线程安全)都是字符串变量。
StringBuffer 可变,是对StringBuffer 对象本身进行操作,而不是生成新的对象。一个类似于String的字符缓存区,可安全用于多个线程,可以在必要时对这些方法进行同步。
StringBuilder 一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。
作者:
zhxu188
时间:
2014-7-15 17:01
StringBuffer 是对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在一般情况下,和String相比我们推荐使用 StringBuffer ,特别是字符串对象经常改变的情况下。StringBuffer 线程安全的可变字符序列。类似于 String 的字符串缓冲区,但不能修改。可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
StringBuilder 类支持StringBuffer所有的操作,但由于它不执行同步,所以速度更快。但是如果将 StringBuilder 的实例用于多个线程是不安全的。需要这样的同步,则建议使用 StringBuffer 。在大部分情况下 StringBuilder > StringBuffer
作者:
风决
时间:
2014-7-15 17:24
StringBuffer是线程不安全的,StringBuilder是线程安全的,二者实现的功能基本相同,在不考虑安全性方面,StringBuffer效率比StringBuilder效率高。
作者:
风决
时间:
2014-7-15 17:30
不好意思刚回答错了
StringBuildershi 一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。
StringBuilder 的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用 StringBuffer。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2