黑马程序员技术交流社区
标题:
StringBuilder和StringBuffer的用法
[打印本页]
作者:
袁园
时间:
2012-11-25 11:26
标题:
StringBuilder和StringBuffer的用法
StringBuilder和StringBuffer的用法有什么区别啊?
作者:
李有
时间:
2012-11-25 11:28
JDK1.5版本之后出现了StringBuilder。
StringBuffer是线程同步。
StringBuilder是线程不同步。
以后开发,建议使用StringBuilder
StringBuilder可提高效率
将StringBuilder的实例用于多个线程是不安全的。如果需要这样同步,则建议使用StringBuffer。
作者:
崔利鹏
时间:
2012-11-25 11:37
StringBuilder类是JDK 5.0引入的新的类, 实质上,就是线程安不安全的问题,StringBuffer是一个线程安全的StringBuilder,如果只在同一个线程内对字符串进行操作, StringBuilder会更快一些,如果是使用多线程进行操作,需要使用StringBuffer.
StringBuilder是非线程安全的,StringBuffer是线程安全的。
作者:
赵红萍
时间:
2012-11-25 11:48
StringBuffer线程安全的可变字符序列.一个类似于 String 的字符串缓冲区,但不能修改.StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据.StringBuffer称为字符串缓冲区,它的工作原理是:预先申请一块内存,存放字符序列,如果字符序列满了,会重新改变缓存区的大小,以容纳更多的字符序列.
StringBuffer是可变对象,StringBuilder和StringBuffer的区别是StringBuffer中所有的方法都是同步的,是线程安全的,但速度慢,StringBuilder的速度快,但不是线程安全的.
作者:
王舒玮
时间:
2012-11-25 22:18
本帖最后由 王舒玮 于 2012-11-25 22:20 编辑
StringBuffer是JDK1.0就存在的老类了,它是线程安全的,但效率不高;
StringBuilder是JDK1.5才添加进来的新类,它不是线程安全的,但效率要高。
StringBuffer:等待使用的
String
存放在
StringBuffer
中,
我们有一个字符串,需要加工,然后再去使用,把字符串放到缓冲区中,然后加工,最后从缓冲区中取出字符串。
StringBuilder:在
JDK5.0
之后,编译器会对字符串的连接进行优化,例如:
s1 = s1 +
“b”;这时编译器会使用
StringBuilder
类来优化程序。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2