黑马程序员技术交流社区
标题:
String,Stringbuffer和Stringbuilder他们谁组合字符串的速度更快???
[打印本页]
作者:
Lws
时间:
2016-9-6 17:58
标题:
String,Stringbuffer和Stringbuilder他们谁组合字符串的速度更快???
String,Stringbuffer和Stringbuilder他们谁组合字符串的速度更快,这个有点晕?有大神解答一下吗?
作者:
1289109595
时间:
2016-9-6 18:00
Stringbuilder线程不安全
作者:
孤峰无悔
时间:
2016-9-6 18:39
效率高的线程不安全(Stringbuilder)
效率低的反而线程安全(Stringbuffer)
非要比速度的话,个人觉得连接符 + 最快
Stringbuffer和Stringbuilder操作的时候,需要创建对象.多少会影响效率吧
作者:
冬天有点冷
时间:
2016-9-6 20:26
String拼接会产生很多新的字符串,占用内存,后面两个不会产生新的字符串,拼接完成后,可以通过toString方法转回字符串。Stringbuffer线程安全 和Stringbuilder线程不安全,不安全的效率高,速度快~
作者:
cjc147
时间:
2016-9-6 20:42
String一旦创建了对象就不可变,它的对象是在内存中的常量池的;
作者:
648764479
时间:
2016-9-6 20:46
Stringbulider不安全,但更快
作者:
cjc147
时间:
2016-9-6 20:47
刚才想换行的,结果一下子就回复了。
String一旦创建了对象就不可变,它的对象是在内存中的常量池的,用它每次组合字符串都会创建新的对象,并且使用StringBuilder或者StringBuffer的append方法实现,所以它是最慢的;
StringBuffer组合字符串的时候只需要创建一次对象就可以了,因为它的对象是可变的,但是它是线程安全的,所以效率低;
StringBuilder组合字符串的时候也是只要创建一次对象就可以了,它的对象也是可变的,而它相对于StringBuffer来说是线程不安全的,效率高;
综上所述,String,StringBuffer和StringBuilder组合字符串的效率从高到低是:StringBuillder > StringBuffer > String
作者:
gohw002
时间:
2016-9-6 20:59
String 是不可变的字符串,Stringbuffer和StringBuilder是可变的字符序列 ;Stringbuffer是线程安全的,效率低,Stringbuilder是线程不安全的,效率高
作者:
宝瓶子
时间:
2016-9-6 21:47
个人觉得还是用String + 连接组合最好
作者:
细听风语为梧桐
时间:
2016-9-6 22:51
当然是stringbuffer快,但是线程不安全
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2