码迷,mamicode.com
首页 > 其他好文 > 详细

String 和StringBuffe StringBuilder 的区别

时间:2019-10-30 21:07:57      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:线程   缓冲区   释放   shm   不可变   可变   nbsp   hashmap   字符   

1.可变性:String不可变(适用于做HashMap的键),StringBuffer和StringBuilder可变

2.性能角度:,String在new的时候,会在常量池中开辟空间,比较耗费内存,而StringBuffer,StringBuiilder字符串缓冲区(里面存储的全部都是字符串),它会释放掉

3.赋值不同:StringBuffer和StringBuilder只能通过构造函数来建立,String可以除了构造方法外还可以赋值,如:String str = "abc";

4.性能:字符串拼接时,String效率低于俩者

5.安全:String、StringBuffer线程安全,StringBuilder线程不安全,单线程下StringBuilder效率最高

6.特有功能:StringBuffer有字符串反转功能,其他俩者没有

String 和StringBuffe StringBuilder 的区别

标签:线程   缓冲区   释放   shm   不可变   可变   nbsp   hashmap   字符   

原文地址:https://www.cnblogs.com/chenlong321/p/11767901.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!