黑马程序员技术交流社区

标题: 求大神告知:String和Stringbuilder.StringBuffer的区别。 [打印本页]

作者: 黑马黑马我来了    时间: 2015-9-23 10:23
标题: 求大神告知:String和Stringbuilder.StringBuffer的区别。
求大神告知:String和Stringbuilder.StringBuffer的区别。
作者: 黑曼巴码农    时间: 2015-9-23 14:43
string类型的被赋值以后,不可以改变了,stringbuffer 的值是可以改变的,而且容量固定,stringbuilder的容量不固定,StringBuffer 是线程安全的,StringBuilder 是线程不安全的,所以效率比起来 StringBuilder要比StringBuffer快。  一般单线程的程序使用StringBuilder比较好,多线程的情况下可以自己加锁,也可以 直接使用StringBuffer 25. String和StringBuffer区别  String对象一经创建就不会发生变化了,即便是赋新值也不是在原对象的基础上改变, 而是创建一个新的字符串对象,将引用指向这个新的对象,会造成空间的浪费,效率较低  StringBuffer只创建一个对象,是在同一个实例的基础之上追加,效率更高,当需要用 到String的时候toString就可以了
作者: 黑曼巴码农    时间: 2015-9-23 14:45
string类型的被赋值以后,不可以改变了,stringbuffer 的值是可以改变的,而且容量固定,stringbuilder的容量不固定,StringBuffer 是线程安全的,StringBuilder 是线程不安全的,所以效率比起来 StringBuilder要比StringBuffer快。  一般单线程的程序使用StringBuilder比较好,多线程的情况下可以自己加锁,也可以 直接使用StringBuffer , String对象一经创建就不会发生变化了,即便是赋新值也不是在原对象的基础上改变, 而是创建一个新的字符串对象,将引用指向这个新的对象,会造成空间的浪费,效率较低  StringBuffer只创建一个对象,是在同一个实例的基础之上追加,效率更高,当需要用 到String的时候toString就可以了




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