JAVA开发常用类(二)

2. 字符串处理

字符串处理主要使用String、StringBuffer和StringBuilder,三者的区别在于:

  • String类是不可变的对象,也就是说在每次对String对象进行值改变时,等同于重新生成了一个String对象,所以经常改变内容的字符串最好不要使用String对象。
  • StringBuffer类刚好弥补了String类的缺陷,改变StringBuffer对象的值时,并不产生新的对象,所以一般情况下建议使用StringBuffer对象。另外StringBuffer是线程安全的,即在不同线程下访问同一个StringBuffer对象是会自动同步的,为此StringBuffer在内部处理上要付出更多的时间。
  • 在JDK5.0以后的版本中,针对StringBuffer增加了一个单线程使用的等价类—StringBuilder类。如果是单线程中使用,推荐优先选择StringBuilder类,因为它不执行同步,所以速度更快。所以一般情况下对字符串类的使用优先次序为:

StringBuilder > StringBuffer > String

image

Sring与StringBuilder/StringBuffer的性能差异在少量计算时并不明显,只有在百万级频繁运算时,StringBuilder的性能优势才体现出来。

posted @ 2013-02-13 11:28  玻璃城市  阅读(393)  评论(0编辑  收藏  举报