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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求大神告知:String和Stringbuilder.StringBuffer的区别。

2 个回复

倒序浏览
string类型的被赋值以后,不可以改变了,stringbuffer 的值是可以改变的,而且容量固定,stringbuilder的容量不固定,StringBuffer 是线程安全的,StringBuilder 是线程不安全的,所以效率比起来 StringBuilder要比StringBuffer快。  一般单线程的程序使用StringBuilder比较好,多线程的情况下可以自己加锁,也可以 直接使用StringBuffer 25. String和StringBuffer区别  String对象一经创建就不会发生变化了,即便是赋新值也不是在原对象的基础上改变, 而是创建一个新的字符串对象,将引用指向这个新的对象,会造成空间的浪费,效率较低  StringBuffer只创建一个对象,是在同一个实例的基础之上追加,效率更高,当需要用 到String的时候toString就可以了
回复 使用道具 举报
string类型的被赋值以后,不可以改变了,stringbuffer 的值是可以改变的,而且容量固定,stringbuilder的容量不固定,StringBuffer 是线程安全的,StringBuilder 是线程不安全的,所以效率比起来 StringBuilder要比StringBuffer快。  一般单线程的程序使用StringBuilder比较好,多线程的情况下可以自己加锁,也可以 直接使用StringBuffer , String对象一经创建就不会发生变化了,即便是赋新值也不是在原对象的基础上改变, 而是创建一个新的字符串对象,将引用指向这个新的对象,会造成空间的浪费,效率较低  StringBuffer只创建一个对象,是在同一个实例的基础之上追加,效率更高,当需要用 到String的时候toString就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马