首页 > 其他 > 详细

String,StringBuffer与StringBuilder的区别

时间:2020-05-14 00:13:44      阅读:55      评论:0      收藏:0      [点我收藏+]
1.三者在执行速度方面的比较StringBuilder >  StringBuffer  >  String
2.String <(StringBuffer,StringBuilder)的原因
1 String:字符串常量
2 StringBuffer:字符创变量
3 StringBuilder:字符创变量
4 从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。
String最慢的原因:为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。

3.StringBuilder与 StringBuffer

1 StringBuilder:线程非安全的
2 StringBuffer:线程安全的
3 当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。
当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。

对于三者使用的总结 

1.如果要操作少量的数据用 = String
2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer
  String,StringBuffer与StringBuilder的区别
  String:字符串常量
  StringBuffer:字符串变量(线程安全)
  StringBuilder:字符串变量(非线程安全)

 

 

String,StringBuffer与StringBuilder的区别

原文:https://www.cnblogs.com/yun---meng/p/12885620.html

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