工作小驿

Ninja!

BlogJava 首页 新随笔 联系 聚合 管理
  103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks

这也是个比较重要的东西,因为String字符串的应用范围很广。但是有些时候使用StringBuffer更好一些。有些时候还不能用String。到了jdk5的时候,又补充了个东西StringBuilder。我们来看看他们的区别。

String 的长度是不可变的,StringBuffer的长度是可变的。如果对字符串中的长度经常进行操作,特别是内容要修改时,使用StringBuffer,如果最后需要String,那么使用StringBuffertoString()方法。

当我们进行字符拼接时,请使用StringBufferStringBuilder类而非String类,因为前者将比后者性能高的多,在java语言的优化编程里面,这是一条比较重要的。

在使用String 的时候,拼接字符串时使用“+”这个东西在JVM上形成临时的StringBuffer对象,同时在每一个字符串上都建立一个对象,拼接了两个字符串居然创建了4个对象。(一个String,两个字符串,一个临时的StringBuffer)。

如果使用StringBuffer就好多了,它可以只需创建两个对象就可以了,一个StringBuffer和最后的String

StringBuilder是在jdk5中添加的一个类,它与StringBuffer功能一样。但是它不是线程安全的,就是说它不支持多线程。如果在不需要多线程的时候,使用StringBuilderStringBuffer还要块的多。不支持线程同步当然要快了。

posted on 2007-08-10 16:57 王君 阅读(320) 评论(1)  编辑  收藏 所属分类: J2SE

Feedback

# re: 全新java初学者实践附加教程2--String,StringBuffer和StringBuilde 2007-08-12 17:15 dreamstone
其实不是线程安全的类不一定不能使用在多线程的环境中,可以自己实现同步。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: