读书人

StringBuffer与StringBuilder 有什么区

发布时间: 2012-01-31 21:28:41 作者: rapoo

StringBuffer与StringBuilder 有什么区别??
StringBuffer与StringBuilder 有什么区别??
我看书上说StringBuilder比较安全

除了这个还有什么区别么?

[解决办法]
区别很简单
StringBuilder速度较快,但适用于单线程。
StringBuffer相对StringBuilder速度慢些,但是在多线程里经常使用。
[解决办法]
StringBuffer每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大。

从 JDK 5 开始,为该类补充了一个单个线程使用的等价类,即 StringBuilder。与该类相比,通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。

主要就是这个区别
[解决办法]
StringBuffer是线程安全的,在使用时开销会比StringBuilder大.除此之外没有本质区别.
[解决办法]
StringBuilder和StringBuffer是兼容的,只是前者非线程安全,后者线程安全。建议一般使用前者
其他就不知道了

读书人网 >J2SE开发

热点推荐