String、StringBuilder、StringBuffer的区别

来源:互联网 发布:微信 js sdk 多图上传 编辑:程序博客网 时间:2024/05/31 19:21

1.三者效率:StringBuilder > StringBuffer > String
在编译确定的字符串常量,完全没有必要创建String或StringBuffer对象。直接使用字符串常量的”+”连接操作效率最高  
2.线程安全性
String:字符串常量 线程安全
StringBuffer:可变字符串,一旦形成后则可以用toString()转换为String对象,继承自AbstractStringBuilder类 ,加了同步锁或者对调用的方法加了同步锁,所以是线程安全的
StringBuilder:可变字符串,继承自AbstractStringBuilder类,没加同步锁或者没对调用的方法加了同步锁,所以是线程不安全的

参考地址
http://www.cnblogs.com/xudong-bupt/p/3961159.html
http://www.cnblogs.com/A_ming/archive/2010/04/13/1711395.html
http://blog.csdn.net/clam_clam/article/details/6831345

原创粉丝点击