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:字符串变量(非线程安全)

 

 

posted on 2020-05-13 23:12  云梦曦  阅读(178)  评论(0编辑  收藏  举报