首页 > 其他 > 详细

String,StringBuffer,StringBuilder的区别与共同点

时间:2019-03-06 19:40:05      阅读:222      评论:0      收藏:0      [点我收藏+]

1. StringStringBuffer,StringBuilder的区别:
 
String存储数据是有final修饰的字符数组
private final char value[];
StringBuffer,StringBuilder的字符数组没有final修饰
char[] value;
所以说String存放的数据在字符串常量池中,当原本变量被替换时,只是这个变量指向了另外一个地方。之前变量还在。没有被换掉。
stringBufferstringBuilder变量替换时,就是真的被替换掉了
String这样处理的好处:
A.把数据放在字符串常量池中,处理速度更快。
B.数据不可变,多线程处理的时候更加安全。
 
2. StringBufferStringBuilder 的区别和联系:
联系
两个类都继承AbstractStringBuilder
都是以字符数组存储数据
方法基本相同
区别:
StringBuilder方法中没有synchronized修饰是非线程安全
StringBuffer方法中有synchronized修饰是线程安全
 
 
3. 为什么使用stringbuffersql连接:
String在拼装的过程中不断产生新的对象在常量池中,而很多对象是用不到的,对内存和cpu的消耗会比较大!而且不稳定。
而stringbuffer new了一个对象,拼接的sql都装在这个对象中,更加稳定。
stringbuilder是非线程安全的,故用springbuffer做sql拼装更合适。

String,StringBuffer,StringBuilder的区别与共同点

原文:https://www.cnblogs.com/zhougongjin/p/10485371.html

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