A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈雪平 中级黑马   /  2012-12-19 19:57  /  1441 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈雪平 于 2012-12-28 21:10 编辑

java提供了String StringBuffer 和StringBuider来处理字符串,但三者之间到底是怎么运用的,今天看的不是很懂,望叼丝们用通俗点的语言解释下,谢喽!!

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 鼓励下

查看全部评分

3 个回复

倒序浏览
李培根 来自手机 金牌黑马 2012-12-19 20:07:34
沙发
String是一个类,常见的功能有获取,转换,判断和比较。
StrifbBuffer是字符串缓冲区,可以理解为存储数据的容器,与String不同的是,它长度可变,提供了比String更加全面的功能。
StringBuilder提供了和StringBuffer相同的功能,只是线程是不同步的,速度更快,同等条件下优先实用StringBuilder

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 呵呵 ,

查看全部评分

回复 使用道具 举报
1.三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String
2.String <(StringBuffer,StringBuilder)的原因
String:字符串常量
StringBuffer:字符创变量
StringBuilder:字符创变量
StringBuilder:线程非安全的
StringBuffer:线程安全的
    当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。
对于三者使用的总结:
1.如果要操作少量的数据用 = String
2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String
对于StringBuffer  和StringBulder

StringBuffer  是线程同步       线程安全的   多线程
StringBulder 是线程不同步的                 单线程


对于三者使用的总结:    1.如果要操作少量的数据用 = String

                        2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder

                        3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

。。不知道屌丝们的语言通俗不。。

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马