黑马程序员技术交流社区

标题: 分别说出StringBuffer与String、StringBuilder的区别? [打印本页]

作者: 改变自己、    时间: 2016-4-11 23:12
标题: 分别说出StringBuffer与String、StringBuilder的区别?
分别说出StringBuffer与String、StringBuilder的区别?具体一些,通俗易懂的!
作者: IT金城武    时间: 2016-4-11 23:17
相同点:[相同点为1分]都可以看成是一种容器,最终都会变成字符串。 不同点[不同点有3点。答对1点得2分。答对2点得3分,答对3点得4分。]: (1)从内容上看: String是内容不可变的; StringBuffer和StringBuilder是内容可变的。 (2)从线程是否安全和效率上看: String中的对象是不可变的,也可以理解为常量,线程安全,效率低; StringBuffer是同步的,线程安全,效率低; StringBuilder是不同步,非线程安全,效率高。 (3)从执行效率上看: StringBuilder > StringBuffer > String
作者: cohle1992    时间: 2016-4-11 23:22
StringBuffer是字符串缓冲区类,是jdk1.0出现的 是线程安全的可变的字符序列 ,效率低                 StringBuilder 是jdk1.5出现的 和StringBuffer里面的所有方法一模一样 也是字符串缓冲区类,线程不安全的可变字符序列,效率高                 String的值是不可变的字符序列, 而StringBUffer和StringBuilder 是可变的字符序列
作者: 梧桐望穹    时间: 2016-4-11 23:22
顶楼上,学习了
作者: leiothrixs    时间: 2016-4-11 23:24
这个一般会在面试问,答得时候分开来答,先说String和StringBuffer,StringBuilder的区别:  String是长度不能被改变的字符序列,可以用+号连接, StringBuffer,StringBuilder是长度可以改变的字符序列,不能用+号连接;再说StringBuffer和StringBuilder的区别: StringBuffer是jdk1.0版本的,线程安全,效率低; StringBuilder是jdk1.5版本的,线程不安全,效率高




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