`
zhangq168
  • 浏览: 26634 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

String、StringBuffer、StringBuilder的区别

 
阅读更多

String 指向的是一个不可改变的字符串

String str1 = "aaa";
str1 = "aaa"+"bbb";

 

此时str1指向的是内存中的一个新的地址:"aaabbb",原来的"aaa"字符串仍然存在

 

而StringBuffer 指向的是一个可变的字符串

StringBuffer buffer = "aaa";
buffer += "bbb";

 

此时"aaa"被修改为"aaabbb"

 

String和StringBuffer的效率在数据量大的时候就会看出区别了

构造一个for循环,循环10000次,改变String和StringBuffer的值,就会看出效率上的区别了

 

而StringBuilder和StringBuffer的作用一样,唯一的区别是

StringBuffer 是线程安全(同步)的

StringBuilder不是线程安全的

当不涉及到线程安全时,最好使用StringBuilder

1
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics