`
hb_keepmoving
  • 浏览: 226556 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

String,StringBuffer,StringBuilder 比较

阅读更多

速度:  StringBuilder > StringBuffer > String

1、String 是不可变的对象, StringBuilder和StringBuffer是可变对象。

     当 String str = "test" + "hello" ; 

         StringBuffer Sb = new StringBuilder("test").append(“ hello”);

     String 效率是远要比 StringBuffer 快。

    因为 JVM 把 String str = "test" + "hello" 解释为:String str = "test hello" ;所以要快。

 

但是若  String str = "test";  String str1 =  "hello" ;  

  String str2= str + str1;   现在JVM 就会按照常理去new 对象了,速度就慢了。

 

所以大部分 StringBuffer > String 

    

2、StringBuffer 的字符缓冲区 是不可修改的。因此是 线程安全的。

3、StringBuilder 线程不安全。

详细文档:http://apps.hi.baidu.com/share/detail/33501758

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics