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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨银川 黑马帝   /  2011-12-9 23:51  /  2418 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨银川 于 2011-12-10 15:50 编辑

请问一下,StringBuilder 和 StringBuffer 都是定义动态字符串的,请问有什么明显区别啊,还有就是这两个类在实际开发过程中,怎么去用,什么时候用StringBuilder, 什么时候用StringBuffer 呢,谢谢

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1 建议问题弄明白了,改成已解决,谢谢!!.

查看全部评分

4 个回复

倒序浏览
StringBuffer
Java.lang.StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
java.lang.StringBuilde
java.lang.StringBuilder一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。两者的方法基本相同。

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1 很给力!

查看全部评分

回复 使用道具 举报
我来学习一下
回复 使用道具 举报
很简答的,你只要知道StringBuilder 和 StringBuffer唯一的不同就是StringBuilder是非线程安全的,而StringBuffer是线程安全的就行了,所以只要你的程序不涉及到多线程运行的问题,那么,大胆的用StringBuilder吧,因为StringBuilder的运行速度要快一些,当然你作为用户是感觉不出来的,那只是几毫秒的差别而已。
所以你的程序如果牵扯到多线程就最好使用 StringBuffer,如果不涉及多线程就随你想用哪个

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

回复 使用道具 举报
明白了,谢谢了{:soso_e100:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马