首页 > 编程语言 > 详细

Java中String、StringBuilder和StringBuffer

时间:2019-12-23 09:37:47      阅读:75      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

StringBuilder和StringBuffer内部都是通过char[]来实现的。(jdk1.9后,底层把char 数组变成了byte[]。)唯一不同的就是我们的StringBuffer内部操作方法都加上了synchronized关键字,因为保证了线程安全,同时效率相比StringBuilder较低。

String不可变的好处:
  1.安全,由于我们的String是不可变的,天生就具备了线程安全。
  2.String经常作为参数,String不可变,代表我们的参数不可变。
  3.常量池的需要,我们的String在我们的开发中,经常被使用,常量池会对我们的String进行缓存,只有String不可变,常量池再有意义。节约我们的内存空间。
  4.当String作为我们的HashMap或者其他散列表key的时候,因为String不可变,所以其hash值也不会发生改变,我们可以不需要每次去计算,可以缓存其hash值,可以提高Hash表的效率。

Java中String、StringBuilder和StringBuffer

原文:https://www.cnblogs.com/roadlandscape/p/12082023.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!