请你说说String,StringBuffer,StringBuilder区别?

1、String底层是将字符串存放在一个被final修饰的byte数组中;而StringBuffer和StringBuilder是存放在一个没有被final修饰且初始化容量为16的byte数组中。

2、StringBuffer和StringBuilder底层的byte数组可以通过拷贝数组来扩容,而String不行。 因此,String是定长的字符串类型,一经创建的String对象是一直不变的。StringBuffer和StringBuilder是可以通过追加字符串,改变长度的字符串类型。

3、String是不可变的所以是线程安全的;StringBuffer中的所有公开方法都有synchronized关键字修饰,所以也是线程安全的;StringBuilder没有被synchronized修饰,所以是非线程安全的,但它比StringBuffer执行效率高。

全部评论

相关推荐

07-04 16:00
门头沟学院 Java
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
实习,投递多份简历没人回...
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-29 17:30
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务