java - StringBuffer 已过时?

标签 java string stringbuilder stringbuffer

在“Effective Java”一书中,Josh Bloch 说

StringBuffer is largely obsolete and should be replaced by the non-synchronized implementation 'StringBuilder'

但根据我的经验,我仍然看到 StringBuffer 类的广泛使用。为什么 StringBuffer 类现在已经过时了,为什么 StringBuilder 比 StringBuffer 更受欢迎,除了由于不同步而提高了性能?

最佳答案

Java 1.5 上的新代码 已经过时了,通常应该使用 StringBuilder - 你真的需要在一个线程安全的方式,为什么要支付同步成本?

我怀疑您使用 StringBuffer 看到的代码大多属于:

  • 在 Java 1.5 之前编写
  • 为保持与旧版 JDK 的兼容性而编写
  • 由不了解 StringBuilder
  • 的人撰写
  • 由不了解 StringBuilder
  • 的工具自动生成

关于java - StringBuffer 已过时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6775016/

相关文章:

java - 隐藏集合中的项目

java - eclipse 中的堆栈跟踪

java - 字符串生成器与字符串连接

java - 如何通过构建器模式强制设置参数的顺序

java - Java 如何在运行时将 lib/rt.jar 链接到您的应用程序?

c - 从函数返回字符串(字符数组、字符指针等)

java - 在 Java 中为 .split 使用多个定界符

python - 从一个大字符串中提取参数值

c# - 在 StringBuilder 中对行进行排序

c# - 如何使用特定字符将数组拆分为更小的数组?