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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

分别说出StringBuffer与String、StringBuilder的区别?具体一些,通俗易懂的!

4 个回复

倒序浏览
相同点:[相同点为1分]都可以看成是一种容器,最终都会变成字符串。 不同点[不同点有3点。答对1点得2分。答对2点得3分,答对3点得4分。]: (1)从内容上看: String是内容不可变的; StringBuffer和StringBuilder是内容可变的。 (2)从线程是否安全和效率上看: String中的对象是不可变的,也可以理解为常量,线程安全,效率低; StringBuffer是同步的,线程安全,效率低; StringBuilder是不同步,非线程安全,效率高。 (3)从执行效率上看: StringBuilder > StringBuffer > String
回复 使用道具 举报
StringBuffer是字符串缓冲区类,是jdk1.0出现的 是线程安全的可变的字符序列 ,效率低                 StringBuilder 是jdk1.5出现的 和StringBuffer里面的所有方法一模一样 也是字符串缓冲区类,线程不安全的可变字符序列,效率高                 String的值是不可变的字符序列, 而StringBUffer和StringBuilder 是可变的字符序列
回复 使用道具 举报
顶楼上,学习了
回复 使用道具 举报
这个一般会在面试问,答得时候分开来答,先说String和StringBuffer,StringBuilder的区别:  String是长度不能被改变的字符序列,可以用+号连接, StringBuffer,StringBuilder是长度可以改变的字符序列,不能用+号连接;再说StringBuffer和StringBuilder的区别: StringBuffer是jdk1.0版本的,线程安全,效率低; StringBuilder是jdk1.5版本的,线程不安全,效率高
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马