社区
Java SE
帖子详情
StringBuffer与StringBuilder
codeshuo
2010-09-11 11:00:59
StingBuffer和StringBuilder都是字符串操作的。StringBuffer是线程安全的,我从一些资料上看到,字符串"+"操作会被编译成StringBuffer的append操作。我想问一下如果直接用“+”会不会影响性能?还有就是,StringBuilder是非线程安全的,性能应该会高一点。但什么情况下必须要用StringBuffer?
求高人解答
...全文
285
13
打赏
收藏
StringBuffer与StringBuilder
StingBuffer和StringBuilder都是字符串操作的。StringBuffer是线程安全的,我从一些资料上看到,字符串"+"操作会被编译成StringBuffer的append操作。我想问一下如果直接用“+”会不会影响性能?还有就是,StringBuilder是非线程安全的,性能应该会高一点。但什么情况下必须要用StringBuffer? 求高人解答
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BearKin
2010-09-12
打赏
举报
回复
一个线程安全(StringBuffer) 一个非线程安全(StringBuilder) 正常情况用后边的 如果你是从jdk 1.5学起的应该养成该好习惯 我老师按照1.4给我讲的课 结果我总是误用StringBuffer...
uastation
2010-09-12
打赏
举报
回复
学习了..
youjianbo_han_87
2010-09-11
打赏
举报
回复
你都说了嘛,线程安全的适合分布式程序。线程不安全的,效率高。但是不适合分布式程序。。
火龙果被占用了
2010-09-11
打赏
举报
回复
在下面这个帖子 42 楼我在那里有一些字符串连接运算符“+”的试验,结论处有什么时候可以用“+”,什么时候不应该用“+”。
http://topic.csdn.net/u/20080415/12/3f2b9589-e97c-4129-8941-011bd9203a98.html
当 StringBuilder 能被多个线程共享的时候,就必须得使用 StringBuilder,比如:单例对象中有个 StringBuilder 的成员变量,且单例对象中有操作这个成员变量的方法时,就得使用 StringBuffer 了。
如果只是在方法中用于字符串连接的话,那就尽管放心地使用 StringBuilder 吧。
不被其他多线程共享对象引用的局部变量是线程安全的。
解未知数
2010-09-11
打赏
举报
回复
字符串的+操作会出现很多new string这样的操作,new对象是很耗资源的.
StingBuffer在多线程的情况下使用,比如在servlet中有一个属性是字符串,每一个请求都可能对其值进行修改,这时候最好就用StingBuffer.
mumuchen
2010-09-11
打赏
举报
回复
直接用“+”一般情况下是效率不高,但如果用append不当或误操作了,例如append在循环内,使用时要注意清空,否则append会越来越长,会感觉到程序越来越慢的。(StingBuffer或StringBuilder将数据库记录拼接成文件,5000条一个文件,类似这类情况需要注意)
mumuchen
2010-09-11
打赏
举报
回复
StringBuffer 与 StringBuilder 中的方法和功能完全是等价的,只是StringBuffer 中的方法有synchronized 关键字进行修饰,因此是线程安全的,而 StringBuilder 没有这个修饰,可以被认为是线程不安全的。
颍川公子
2010-09-11
打赏
举报
回复
用 StringBuffer 可以实现动态变化 用着比较方便
SuperCodingMan
2010-09-11
打赏
举报
回复
+操作会多次创建String对象,然后再调用StringBuilder的append()操作。这样看的话+操作的性能是没有直接自己建一个StringBuilder来append高效的。但是谁叫 + 操作方便呢!
erpanger
2010-09-11
打赏
举报
回复
学习了。。。
thegodofwar
2010-09-11
打赏
举报
回复
其实大部分情况下StringBuffer都可以通用,StringBuilder常常使用在语言自身设计上(属于精打细算那种)
string,
stringbuffer
,
stringbuilder
string,
stringbuffer
,
stringbuilder
String、
StringBuilder
、
StringBuffer
用法比较
stringbuilder
用法 String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、
StringBuffer
用法比较String、
StringBuilder
、StringB
StringBuffer
与
StringBuilder
的区别
StringBuffer
与
StringBuilder
的区别 一、String,
StringBuffer
与
StringBuilder
String字符串常量 String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。
StringBuffer
与
StringBuilder
是字符串变量
StringBuffer
和
StringBuilder
类的对象能够被多次的修改,并且不产生新的未使用对象 二、StringBuf
StringBuffer
与
StringBuilder
的区别以及常用方法
StringBuffer
与
StringBuilder
的区别一、String,
StringBuffer
与
StringBuilder
String字符串常量String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。
StringBuffer
与
StringBuilder
是字符串变量
StringBuffer
和
StringBuilder
类的对象能够被多次的修改,并且不产生新的未使用对象。
彻底弄懂
StringBuffer
与
StringBuilder
的区别
一问道
StringBuffer
与
StringBuilder
的区别,张口就来
StringBuffer
是线程安全的,因为它相关方法都加了synchronized 关键字,
StringBuilder
线程不安全。没错,确实如此,但是我们查看过源码会发现
StringBuffer
是从jdk1.0就开始了,
StringBuilder
是从jdk1.5开始的。于是我就产生这样一个疑问,既然已经有了StringBu...
Java SE
62,628
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章