StringBuffer vs StringBuilder与StringTokenizer

时间:2010-09-24 09:43:43

标签: java

内部实现上StringBuffer与StringBuilder Vs StringTokenizer的区别是什么。何时使用这些。请等待答案。

更新: -

我也在浏览源代码。

4 个答案:

答案 0 :(得分:17)

StringBuffer - 在JDK 1.0中引入 - 是线程安全的(它的所有方法都是synchronized),而StringBuilder - 因为JDK 1.5 - 不是。因此,建议在正常情况下使用后者。

StringTokenizer用于完全不同的目的,然后是前两个:将字符串切成碎片,而不是组装。正如@Henning指出的那样,它自JDK 1.5以来也“退役” - 建议改为使用String.split

答案 1 :(得分:5)

  • StringBuffer设计为线程安全的,并且StringBuffer中的所有公共方法都是同步的。 StringBuilder不处理线程安全问题,并且没有任何方法同步。

  • 在大多数情况下,StringBuilder的性能优于StringBuffer。

  • 尽可能使用新的StringBuilder。

HereStringBuilder & StringBuffer

performance comparison

StringBuilder& StringBuffer持有String,其中StringoTokeizer类允许应用程序将字符串分解为标记..所以它就像奇怪的一样

答案 2 :(得分:3)

StringBuffer - 是StringBuilder的同步版本(在其未同步的对等体之后引入)

答案 3 :(得分:1)

StringBuffer与StringBuilder具有相同的用途,但StringBuffer是线程安全的。
StringTokenizer用于根据某些分隔符将字符串拆分为标记。

相关问题