黑马程序员技术交流社区

标题: StringBuffer只是当作一个字符串的储存空间用吗? [打印本页]

作者: wqd123    时间: 2015-11-11 16:55
标题: StringBuffer只是当作一个字符串的储存空间用吗?
没什么实际的用处啊

作者: 深寒丶    时间: 2015-11-11 21:27
Stringbuffer运算速度比String快不知道多少倍,String是每次运算先创建对象,然后载再用地址值指向做运算,而Stringbuffer是直接开辟空间在里面运算。
作者: 深寒丶    时间: 2015-11-11 21:29
例如String a+b  他是先创建new a  new b   然后再创建一个对象接收new a + new b
作者: 深寒丶    时间: 2015-11-11 21:30
而Stringbuffer是直接创建一个对象在对象里做运算,大概就是这样

作者: sufutian    时间: 2015-11-11 22:34
不是Stringbuild更快么?
作者: wqd123    时间: 2015-11-14 18:12
sufutian 发表于 2015-11-11 22:34
不是Stringbuild更快么?

不安全啊好像
作者: wqd123    时间: 2015-11-20 12:16
深寒丶 发表于 2015-11-11 21:27
Stringbuffer运算速度比String快不知道多少倍,String是每次运算先创建对象,然后载再用地址值指向做运算, ...

嗯嗯,谢谢
作者: wqd123    时间: 2015-11-20 12:19
深寒丶 发表于 2015-11-11 21:29
例如String a+b  他是先创建new a  new b   然后再创建一个对象接收new a + new b

嗯嗯,谢谢
作者: 深寒丶    时间: 2015-11-20 14:24
sufutian 发表于 2015-11-11 22:34
不是Stringbuild更快么?

StringBuilder是比StringBuffer快,但是那是不考虑线程安全的情况
作者: 邸永明    时间: 2015-11-20 15:50
StringBuffer是可变的,进行运算的话不会产生太多垃圾,并且是线程安全的
作者: wqd123    时间: 2015-11-24 21:40
邸永明 发表于 2015-11-20 15:50
StringBuffer是可变的,进行运算的话不会产生太多垃圾,并且是线程安全的

嗯,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2